HexWidget class
六边形 Widget 包装器 用于在网格中放置 Widget,可以占据多个网格单元
Constructors
-
HexWidget({required String id, required Widget child, required HexCoordinate position, int spanWidth = 1, int spanHeight = 1, List<
HexCoordinate> ? occupiedCells, bool draggable = false, bool clipToHexShape = false, VoidCallback? onTap, VoidCallback? onLongPress, VoidCallback? onDragStarted, dynamic onDragEnd(HexCoordinate newPosition)?})
Properties
- child → Widget
-
要显示的 Widget
final
- clipToHexShape → bool
-
是否将 Widget 裁剪为六边形形状
final
- draggable → bool
-
是否可拖拽
final
- hashCode → int
-
The hash code for this object.
no setteroverride
- id → String
-
Widget 的唯一标识
final
-
occupiedCells
→ List<
HexCoordinate> ? -
Widget 占据的所有坐标
final
- onDragEnd → dynamic Function(HexCoordinate newPosition)?
-
拖拽结束回调
final
- onDragStarted → VoidCallback?
-
拖拽开始回调
final
- onLongPress → VoidCallback?
-
长按回调
final
- onTap → VoidCallback?
-
点击回调
final
- position → HexCoordinate
-
Widget 的起始坐标(左上角或中心)
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- spanHeight → int
-
Widget 占据的网格单元数量(高度方向)
final
- spanWidth → int
-
Widget 占据的网格单元数量(宽度方向)
final
Methods
-
calculateOccupiedCells(
HexOrientation orientation) → List< HexCoordinate> - 计算 Widget 占据的所有坐标
-
copyWith(
{String? id, Widget? child, HexCoordinate? position, int? spanWidth, int? spanHeight, List< HexCoordinate> ? occupiedCells, bool? draggable, bool? clipToHexShape, VoidCallback? onTap, VoidCallback? onLongPress, VoidCallback? onDragStarted, dynamic onDragEnd(HexCoordinate)?}) → HexWidget - 复制并修改属性
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
override