SelectorWidget
SelectorWidget 是一个下拉式选择控件,允许用户从预定义的列表中选择选项。它支持动态更新选项列表、显示可配置的 UI,以及高效处理选择变化。
功能特性
- 下拉选择 – 展开以显示可用选项。
- 事件处理 – 当选择变化时触发回调。
属性
| 字段 | 类型 | 描述 |
|---|---|---|
currentValue | String | 当前选中的选项。 |
API
setCandidates
更新可选选项列表。
Java
selectorWidget.setCandidates(List.of("OptionA", "OptionB", "OptionC"));Javascript
selectorWidget.setCandidates(["OptionA", "OptionB", "OptionC"]);- 触发 UI 更新以反映新选项。
setValue
设置当前选中的值。
java
selectorWidget.setValue("OptionA");- 如果该值在
candidates中未找到,则保持不变。
setMaxCount
定义在滚动前可见的选项数量。
java
selectorWidget.setMaxCount(3);- 如果选项数量超过
maxCount,则会添加滚动条。
setFontColor
更改选项文本的颜色。
java
selectorWidget.setFontColor(0xFFFFFF); // 白色文本setButtonBackground
设置按钮区域的背景纹理。
java
selectorWidget.setButtonBackground(myCustomTexture);setOnChanged
注册一个回调函数来处理选择变化。
java
selectorWidget.setOnChanged(selected -> {
System.out.println("New selection: " + selected);
});javascript
selectorWidget.setOnChanged(selected => {
console.log("New selection: " + selected);
});- 这对于更新 UI 状态或触发游戏逻辑非常有用。
setCandidatesSupplier
从动态源自动更新选项列表。
java
selectorWidget.setCandidatesSupplier(() -> fetchDynamicOptions());javascript
selectorWidget.setCandidatesSupplier(() => fetchDynamicOptions());- 控件会轮询此函数来刷新列表。
- 适用于选项基于外部条件变化的情况。
setShow
手动切换下拉列表的可见性。
java
selectorWidget.setShow(true); // 打开下拉列表