Class GridView<T>
java.lang.Object
com.ultikits.ultitools.abstracts.gui.declarative.core.Widget
com.ultikits.ultitools.abstracts.gui.declarative.widgets.GridView<T>
- Type Parameters:
T- 数据类型(如果使用数据列表)
GridView 是一个网格布局 Widget,将子 Widget 按网格排列。
支持:
- 指定起始槽位和行列数
- 自动计算子 Widget 位置
- 支持数据列表自动映射
使用示例:
// 手动指定子 Widget
GridView.builder()
.startSlot(10)
.rows(4)
.columns(7)
.children(buttons)
.build();
// 从数据列表自动生成
GridView.<ItemStack>builder()
.startSlot(10)
.columns(7)
.items(itemList)
.itemBuilder(item -> ItemDisplay.builder(item).build())
.build();
- Since:
- 6.2.0
- Version:
- 1.0.0
- Author:
- UltiTools Team
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> @NotNull GridView.Builder<T> builder()创建 Builder。intcalculateSlotForChild(int childIndex) 计算子 Widget 的实际槽位。@NotNull Element为此 Widget 创建对应的 Element。intintint
-
Field Details
-
startSlot
private final int startSlot -
columns
private final int columns -
maxRows
private final int maxRows -
children
-
-
Constructor Details
-
GridView
-
-
Method Details
-
builder
创建 Builder。- Type Parameters:
T- 数据类型- Returns:
- Builder
-
getStartSlot
public int getStartSlot() -
getColumns
public int getColumns() -
getMaxRows
public int getMaxRows() -
getChildren
-
calculateSlotForChild
public int calculateSlotForChild(int childIndex) 计算子 Widget 的实际槽位。- Parameters:
childIndex- 子 Widget 索引- Returns:
- 槽位索引
-
createElement
Description copied from class:Widget为此 Widget 创建对应的 Element。这是框架内部使用的方法,子类应该根据 Widget 类型返回适当的 Element 实现。
- StatelessWidget 返回
StatelessElement - StatefulWidget 返回
StatefulElement - RenderObjectWidget 返回
RenderObjectElement
- Specified by:
createElementin classWidget- Returns:
- 对应的 Element 实例
- StatelessWidget 返回
-