首页/ 第 10 章 · UI 界面系统/ 第 154 课
LESSON 154 · UI 界面系统

Dropdown 下拉框

Dropdown 已掌握。下一课学 ScrollView 滚动视图。

⏱ 约 12 分钟📊 难度:入门🗂 第 10 章 · UI 界面系统📍 第 154 / 300 课
课程进度
154 / 300

🎯本节学习目标

  • 掌握 Dropdown 创建
  • 掌握选项管理
  • 掌握选中事件

🚀课程导读

“选择角色”“选择语言”用下拉框最省空间。本课掌握 Dropdown。

Dropdown 组件

创建与配置选项。

  1. Hierarchy 右键 → UI → Dropdown - TextMeshPro,创建下拉框。
  2. 【组件属性】
  3. Options:选项列表(每项有文本,可加图片)。
  4. Value:当前选中的索引(从 0 开始)。
  5. 【读取】dropdown.value 返回选中索引;dropdown.options[value].text 返回选中文字。
  6. 【设置】dropdown.value = 2;
  7. 【事件 On Value Changed】选中变化时回调(int 索引参数)。
  8. 【结构】Dropdown → Template(下拉面板)+ Label + Arrow(箭头)。
  9. 【注意】TMP 的下拉框是 TMP_Dropdown,别与旧版混用。
💡
读取下拉 = .value 索引 + .options[value].text 文字。

动态选项与实战

代码加选项。

  1. 【静态配置】在 Inspector 的 Options 列表里直接添加选项(点 + 加项、输入文字)。
  2. 【代码动态】
  3. TMP_Dropdown dd = GetComponent<TMP_Dropdown>();
  4. dd.ClearOptions(); // 清空
  5. dd.AddOptions(new List<string> { "战士", "法师", "弓箭手" });
  6. 【读取选中】
  7. int idx = dd.value;
  8. string cls = dd.options[idx].text;
  9. Debug.Log($"选择职业:{cls}");
  10. 【事件】dd.onValueChanged.AddListener(OnClassChange); void OnClassChange(int i) { ... }
  11. 【实战】角色创建界面:职业下拉 + 确定按钮。
  12. 【默认值】dd.value 在 Inspector 设默认选中项。
  13. 【注意】ClearOptions 后要重新 AddOptions;选项为 0 时交互异常。
下拉框动态选项 = ClearOptions + AddOptions(List<string>),一行搞定。

常见错误与排查

错误:下拉框打开没选项?
原因:Options 为空
解决:在 Inspector 添加选项或用代码 AddOptions。

动手练习

课后小任务(做出来才算真的学会)

  • 创建下拉框并配置 3 个静态选项
  • 读取选中项的文本
  • 用代码动态添加职业选项

本节小结

Dropdown 已掌握。下一课学 ScrollView 滚动视图。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课Toggle 开关