SelectedItemDecoration class
Show selected item in Cupertino style (Health app)
- Inheritance
-
- Object
- DecorationPainter
- SelectedItemDecoration
- Annotations
-
- @Deprecated('You can make this decoration and much more using WidgetDecoration. Check migration guide for more info')
Constructors
- SelectedItemDecoration(int? selectedItem, {Color selectedColor = Colors.red, Color backgroundColor = Colors.grey, TextStyle selectedStyle = const TextStyle(fontSize: 13.0), bool animate = false, bool showText = true, bool showOnTop = true, int selectedListIndex = 0, Widget? child, double topMargin = 0.0})
- Constructor for selected item decoration
Properties
- animate → bool
-
Should selectedItem animate from one item to next
final
- backgroundColor → Color
-
Color for selected item, this color is shown as overlay, use with alpha!
final
- child → Widget?
-
Child to show on top or bottom of selected item
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedColor → Color
-
Color of selected indicator and text background
final
- selectedItem → int?
-
Index of selected item
final
- selectedListIndex → int
-
Index of list whose data to show
By default it will use first list to this value will be
0
final - selectedStyle → TextStyle
-
Color of selected item text
final
- showOnTop → bool
-
final
- showText → bool
-
final
- topMargin → double
-
final
Methods
-
animateTo(
DecorationPainter endValue, double t) → DecorationPainter -
Animate to next decoration state, each decoration should implement this.
This is just regular lerp function, but instead of static function where you pass start and
end state, here we start with current state and animate to
endValue
.override -
applyPaintTransform(
ChartState state, Size size) → Offset -
override
-
draw(
Canvas canvas, Size size, ChartState state) → void -
Draw decoration.
Decoration can be foreground or background decoration that will be drawn on the chart
decorations can ignore padding and can use whole available canvas to draw.
override
-
getRenderer(
ChartState state) → Widget -
override
-
initDecoration(
ChartState state) → void -
Init decoration is first thing called on decorations, it will pass current ChartState
so decoration can easily calculate needed stuff for their layout.
override
-
isSameType(
DecorationPainter other) → bool -
Used for animating, we just need to find matching type, don't actually check for equality since we want to animate
from one state to other. Some decorations may consider overriding this in case multiples are used
inherited
-
layoutSize(
BoxConstraints constraints, ChartState state) → Size -
override
-
marginNeeded(
) → EdgeInsets -
Get extra margin (not definable by the user). This makes sure that any decoration
that leaves original drawing window is not drawing outside of that window (This is not
enforced right now but it's unwanted behaviour)
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paddingNeeded(
) → EdgeInsets -
Get extra padding (not definable by user, calculated by decoration if needed). This makes sure
that decoration will fit with the chart in wanted area.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited