FlutterFolderViewTheme<T> class

Master theme class for the entire FolderView component

This class provides a centralized way to customize the appearance of FolderView widgets with separate themes for each node type.

Annotations

Constructors

FlutterFolderViewTheme({required FolderViewLineTheme lineTheme, required FolderViewScrollbarTheme scrollbarTheme, FolderNodeTheme<T> folderTheme = const FolderNodeTheme(), ParentNodeTheme<T> parentTheme = const ParentNodeTheme(), ChildNodeTheme<T> childTheme = const ChildNodeTheme(), ExpandIconTheme expandIconTheme = const ExpandIconTheme(), FolderViewSpacingTheme spacingTheme = const FolderViewSpacingTheme(), FolderViewNodeStyleTheme nodeStyleTheme = const FolderViewNodeStyleTheme(), int animationDuration = 200, double rowHeight = 40.0, double rowSpacing = 0.0})
Creates a FlutterFolderViewTheme with the given properties
const
FlutterFolderViewTheme.dark()
Creates a dark theme with sensible defaults
factory
FlutterFolderViewTheme.light()
Creates a light theme with sensible defaults
factory

Properties

animationDuration → int
Animation duration for expand/collapse animations in milliseconds
final
childTheme → ChildNodeTheme<T>
Theme for child nodes
final
expandIconTheme → ExpandIconTheme
Theme for expand/collapse icon
final
folderTheme → FolderNodeTheme<T>
Theme for folder nodes
final
hashCode → int
The hash code for this object.
no setteroverride
lineTheme → FolderViewLineTheme
Theme for connection lines between nodes
final
nodeStyleTheme → FolderViewNodeStyleTheme
Theme for node visual styling
final
parentTheme → ParentNodeTheme<T>
Theme for parent nodes
final
rowHeight → double
Height of each row/node in pixels
final
rowSpacing → double
Vertical spacing between rows in pixels
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scrollbarTheme → FolderViewScrollbarTheme
Theme for scrollbars
final
spacingTheme → FolderViewSpacingTheme
Theme for spacing and padding
final

Methods

copyWith({FolderViewLineTheme? lineTheme, FolderViewScrollbarTheme? scrollbarTheme, FolderNodeTheme<T>? folderTheme, ParentNodeTheme<T>? parentTheme, ChildNodeTheme<T>? childTheme, ExpandIconTheme? expandIconTheme, FolderViewSpacingTheme? spacingTheme, FolderViewNodeStyleTheme? nodeStyleTheme, int? animationDuration, double? rowHeight, double? rowSpacing}) → FlutterFolderViewTheme<T>
Creates a copy of this theme with the given fields replaced with new values
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
scale({required double factor, required double defaultFontSize}) → FlutterFolderViewTheme<T>
Returns a deeply-scaled copy of this theme.
scaledForContext(BuildContext context, double factor) → FlutterFolderViewTheme<T>
Convenience for the dominant call site: extracts the ambient defaultFontSize from Theme.of(context).textTheme.bodyMedium and delegates to scale.
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override

Static Methods

lerp<T>(FlutterFolderViewTheme<T>? a, FlutterFolderViewTheme<T>? b, double t) → FlutterFolderViewTheme<T>
Linearly interpolate between two FlutterFolderViewThemes