「这是我参与2022首次更文挑战的第14天,活动详情查看:2022首次更文挑战」
Unity 之 UGUI Dropdown组件使用简析
官方释义
官方文档:docs.unity3d.com/Manual/scri…
来自官方诠释:控件显示当前选择的选项。一旦单击,它将打开选项列表,以便可以选择一个新选项。选择新选项后,关闭的列表再次关闭,控件将显示新选定的选项。如果用户单击控件本身或画布中的任何其他位置,列表也将关闭。
示例展示
创建出Unity 定义好的Dropdown组件,大概长成这个样子… 细心的你会发现,当运行时,会生成一个Blocker,这个时充满当前图层的,这也是为什么当你点击了下拉选项,点击空白处,下拉选项会自动关闭的原因。 看一下生成的Blocker的Inspector面板
代码操作
下面是一个对DropDown基础操作
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DropDownTest : MonoBehaviour {
public Dropdown dropDown;
void Start () {
//是否可以点击
dropDown.interactable = true;
#region 添加下拉选项,,,设置文字,底图
//添加一个下拉选项
Dropdown.OptionData data = new Dropdown.OptionData();
data.text = "方案一";
//data.image = "指定一个图片做背景不指定则使用默认";
dropDown.options.Add(data);
//另一种添加方式 , 不过用起来并不比第一个方便,
List<Dropdown.OptionData> listOptions = new List<Dropdown.OptionData>();
listOptions.Add(new Dropdown.OptionData("方案二"));
listOptions.Add(new Dropdown.OptionData("方案三"));
dropDown.AddOptions(listOptions);
//设置显示字体大小
dropDown.captionText.fontSize = 14;
//dropDown.captionImage = "底图";
//设置要复制字体大小
dropDown.itemText.fontSize = 15;
//dropDown.itemImage = "底图";
//PS:我一般是使用循环 使用第一种形式添加
#endregion
#region 添加完成就可以使用了,那么当我们想要复用怎么办呢?,这时就用到了移除OptionData,下面的每个注释打开都是一个功能
//直接清理掉所有的下拉选项,
dropDown.ClearOptions();
//亲测不是很好用
//dropDown.options.Clear();
//对象池回收时,有下拉状态的,直接干掉... (在极限点击测试的情况下会出现)
if (dropDown.transform.childCount == 3)
{
Destroy(dropDown.transform.GetChild(2).gameObject);
}
//移除指定数据 参数:OptionData
dropDown.options.Remove(data);
//移除指定位置 参数:索引
dropDown.options.RemoveAt(0);
#endregion
#region 添加监听函数
//当点击后值改变是触发 (切换下拉选项)
dropDown.onValueChanged.AddListener((int v) => OnValueChange(v));
//若有多个,可以将自己当做参数传递进去,已做区分。
//dropDown.onValueChanged_1.AddListener((int v) => OnValueChange(dropDown.gameobject,v));
#endregion
}
/// <summary>
/// 当点击后值改变是触发 (切换下拉选项)
/// </summary>
/// <param name="v">是点击的选项在OptionData下的索引值</param>
void OnValueChange(int v)
{
//切换选项 时处理其他的逻辑...
Debug.Log("点击下拉控件的索引是..." + v);
}
}
内置的方法和属性大家可以去官网查看,文章开头有官网链接哦。
今天的文章Unity 之 UGUI Dropdown组件使用简析分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16885.html