找回密码
 立即注册
查看: 279|回复: 0

Unity DropDown组件

[复制链接]
发表于 2023-1-11 09:27 | 显示全部楼层 |阅读模式
前段时间遇到了下拉栏的制作,之前没有用过DropDown组件,相关的组件属性以及api都不熟悉,趁此记录一下。
组件item



对象作用
Label初始化显示
Arrow初始化下拉箭头
Template准备生成的下拉栏模板
Item滑动栏内的item模板
Item Backgrounditem背景图片
Item Checkmarkitem选中图片
Item Labelitem显示文本
Scrollbar滚动栏(超出模板高度或宽度启用)
组件属性



常用相关API

当前选项的Image组件
Dropdown dp = GameObject.Find("dropDown").GetComponent<Dropdown>();
Image img = dp.captionImage;
当前选项的Text组件
Dropdown dp = GameObject.Find("dropDown").GetComponent<Dropdown>();
Text txt = dp.captionText;
item模板的image组件
Dropdown dp = GameObject.Find("dropDown").GetComponent<Dropdown>();
//get
Image img = dp.itemImage;
//set
dp.itemImage = img;
item模板的text组件
Dropdown dp = GameObject.Find("dropDown").GetComponent<Dropdown>();
//get
Text txt = dp.itemText;
//set
dp.itemText = txt;
监听事件
Dropdown dp = GameObject.Find("dropDown").GetComponent<Dropdown>();
//remove
dp.onValueChanged.RemoveAllListeners();
dp.onValueChanged.RemoveListener(actionName);
//add
dp.onValueChanged.AddListener(actionName);

void actionName(int index)
{
  switch(index)
  {

  }
}
选项列表
options就是一个Dropdown.OptionData类型的List
操作都与List相同
Dropdown.OptionData包含text与image
Dropdown dp = GameObject.Find("dp").GetComponent<Dropdown>();
Dropdown.OptionData data = new Dropdown.OptionData();
data.text = "text";
Sprite sp = dp.itemImage.sprite;
data.image = sp;

//添加一个OptionData对象的列表到选项中
dp.AddOptions(dp.options);
//清除所有选项
dp.ClearOptions();
//隐藏下拉栏
dp.Hide();
//显示下拉栏
dp.Show();
//刷新当前选项
dp.RefreshShownValue();

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 02:54 , Processed in 0.090679 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表