【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 类型的方法,可以添加多个方法。 

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

猜你喜欢

转载自blog.csdn.net/m0_37602827/article/details/125813802