ScrollableSegmentContent class
Internal stateful widget managing the scrollable pill indicator and segment items for GlassSegmentedControl.scrollable.
Extracted from GlassSegmentedControl to keep the public widget focused on configuration and glass-layer wrapping, while this widget owns all gesture, spring, and rendering logic for the scrollable layout mode.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- ScrollableSegmentContent
Constructors
-
ScrollableSegmentContent({required List<
GlassSegment> tabs, required int selectedIndex, required ValueChanged<int> onTabSelected, required bool isScrollable, required ScrollController scrollController, required Color? indicatorColor, required TextStyle? selectedLabelStyle, required TextStyle? unselectedLabelStyle, required Color? selectedIconColor, required Color? unselectedIconColor, required double iconSize, required EdgeInsetsGeometry labelPadding, required GlassQuality quality, BorderRadius? indicatorBorderRadius, LiquidGlassSettings? indicatorSettings, double indicatorPinchStrength = 0.4, EdgeInsetsGeometry indicatorExpansion = const EdgeInsets.symmetric(horizontal: 12, vertical: 8), GlobalKey<State< ? backgroundKey, MaskingQuality maskingQuality = MaskingQuality.high, DividerSettings? dividerSettings, List<StatefulWidget> >BoxShadow> ? indicatorShadow, BorderRadius? tabBarBorderRadius, Key? key}) -
const
Properties
-
backgroundKey
→ GlobalKey<
State< ?StatefulWidget> > -
final
- dividerSettings → DividerSettings?
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- iconSize → double
-
final
- indicatorBorderRadius → BorderRadius?
-
final
- indicatorColor → Color?
-
final
- indicatorExpansion → EdgeInsetsGeometry
-
Expansion padding applied to the pill during drag — mirrors GlassBottomBar.
final
- indicatorPinchStrength → double
-
Maximum concave lens pinch strength. Forwarded to AnimatedGlassIndicator.
final
- indicatorSettings → LiquidGlassSettings?
-
final
-
indicatorShadow
→ List<
BoxShadow> ? -
Optional shadows for the active indicator pill. Passed through to
AnimatedGlassIndicator but suppressed while a drag is in progress so
the shadow does not interact with the live BackdropFilter blur.
final
- isScrollable → bool
-
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- labelPadding → EdgeInsetsGeometry
-
final
- maskingQuality → MaskingQuality
-
final
-
onTabSelected
→ ValueChanged<
int> -
final
- quality → GlassQuality
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrollController → ScrollController
-
final
- selectedIconColor → Color?
-
final
- selectedIndex → int
-
final
- selectedLabelStyle → TextStyle?
-
final
- tabBarBorderRadius → BorderRadius?
-
Border radius of the outer tab bar container — used to clip Layer 1
(tab labels + background pill) to the same rounded shape.
final
-
tabs
→ List<
GlassSegment> -
final
- unselectedIconColor → Color?
-
final
- unselectedLabelStyle → TextStyle?
-
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< ScrollableSegmentContent> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited