Added MaterialStatesController, updated InkWell et al.#103167
Merged
HansMuller merged 11 commits intoflutter:masterfrom May 27, 2022
Merged
Added MaterialStatesController, updated InkWell et al.#103167HansMuller merged 11 commits intoflutter:masterfrom
HansMuller merged 11 commits intoflutter:masterfrom
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The new MaterialStatesController class is just a trivial ValueNotifier that manages a set of MaterialStates. InkWell and the ButtonStyle button classes use the statesController they're given to track state changes. If one is not provided then they create it.
A stateful widget that wants to track button or InkWell state changes itself, or add support for additional states, can do so by creating a private MaterialStatesController and passing it along. The example included in this PR demonstrates how support for MaterialState.selected can be added to a TextButton to turn it into a "toggle" button.