【Unity3D】UGUI之Dropdown

1 Dropdown属性面板

在 Hierarchy 窗口右键,选择 UI 列表里的 Dwondown (下拉列表)控件,即可创建 Dwondown 控件,选中创建的 Dwondown 控件,按键盘【T】键,可以调整 Dwondown 控件的大小和位置。

创建 Dwondown 控件时,系统会自动为其创建一系列控件,如下:

Dropdown 控件的属性面板如下:

说明:Options 中可以增删选项,并且可以给每个选项添加不同背景图片,也可以通过如下方式增删选项:

Dropdown dropdown = GetComponent<Dropdown>();
// 增加选项
dropdown.options.Add(new Dropdown.OptionData("Four"));
// 删除选项
dropdown.options.Remove(dropdown.options[2]);

2 Dropdown 注册事件

点击 OnValueChanged 下面的 “+” 号,可以为下拉列表添加响应事件,可以添加多个事件。

1)注册已有组件的方法

点击 OnValueChanged 下面的 “+” 号,将 Dropdown 下面的 Label 拖拽到 OnValueChanged 面板里,选择 GameObject.name,下方文本设置 "Text",如下:

切换下拉列表的选项,Label 会重命名为 “Text”,如下:

2)注册脚本组件里面的方法

给 Dropdown 控件添加 DropdownController 脚本组件如下:

SliderController.cs

using UnityEngine;

public class DropdownController : MonoBehaviour {

    public void OnDropdown1() {
        Debug.Log("Dropdown1");
    }
 
    public void OnDropdown2(string msg) {
        Debug.Log("Dropdown2, msg=" + msg);
    }
 
    public void OnDropdown3(int index) {
        Debug.Log("Dropdown3, index=" + index);
    }
}

注意:待注册的方法,最多只能提供 1 个参数, 当参数为 int 类型时,入参表示选择的选项序号(index)。

点击 OnValueChanged 下面的 “+” 号,将 DropdownController 脚本组件拖拽到 OnValueChanged 面板里,选择 DropdownController.OnDropdown1 方法;再点击 OnValueChanged 下面的 “+” 号,将 DropdownController 脚本组件拖拽到 OnValueChanged 面板里,选择 DropdownController.OnDropdown2 方法,其下方输入"xxxx";点击 OnValueChanged 下面的 “+” 号,将 DropdownController 脚本组件拖拽到 OnValueChanged 面板里,选择 DropdownController.OnDropdown3 方法。如下:

切换下拉列表的选项,打印日志如下:

3)代码里注册事件

给 Dropdown 控件添加 DropdownController 脚本组件如下:

DropdownController.cs

using UnityEngine;
using UnityEngine.UI;

public class DropdownController : MonoBehaviour {
    private void Start() {
        Dropdown dropdown = GetComponent<Dropdown>();
        dropdown.onValueChanged.AddListener(OnValueChanged);
    }
 
    public void OnValueChanged(int index) {
        Debug.Log("OnValueChanged, index=" + index);
    }
}

注意:AddListener 方法里只能添加入参为 int 类型的方法,可以添加多个方法。

切换下拉列表的选项,打印日志如下:

声明:本文转自【Unity3D】UGUI之Dropdown

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容