UGUI-下拉选单 (Dropdown)
__下拉选单__可用于让用户从选项列表中选择单个选项。
此控件会显示当前选择的选项。单击后,此控件会打开选项列表,以便选择新选项。选择新选项后,列表再次关闭,而控件将显示新选择的选项。如果用户单击控件本身或画布内的任何其他位置,列表也将关闭。





详细信息
可在 Inspector 中指定选项列表,也可通过代码指定。对于每个选项,可以指定文本字符串,也可以选择指定图像(如果下拉选单设置为支持图像)。
按钮有一个名为 On Value Changed 的事件,当用户完成对列表中某个选项的单击时会响应。该组件支持发送作为所选选项索引的整数值。0 代表第一个选项,1 代表第二个,依此类推。
模板系统
根据设计,下拉选单控件有一个子游戏对象用作单击下拉选单控件时显示的下拉列表的模板。此模板游戏对象在默认情况下处于非活动状态,但可以在编辑模板时将其激活,从而方便查看正在进行的状态。必须在下拉选单组件的 Template 属性中指定对模板对象的引用。


模板必须包含一个启用开关 (Toggle) 组件的列表项。单击下拉选单控件来创建实际下拉列表时,此项会多次重复,列表中的每个选项都使用一个副本。该项的父项会自动调整大小,从而容纳所有项。
可通过许多不同方式设置模板。GameObject > UI > Dropdown 菜单项使用的设置包括一个滚动视图,因此如果选项太多而不能一次完整显示,则会出现一个滚动条,用户可以滚动这些选项。但这不是模板设置的必需部分。
(请参阅 ScrollRect 页面以了解有关滚动视图的更多信息。)
设置文本和图像支持
下拉选单支持每个选项使用一个文本内容和一个图像内容。文本和图像都是可选的。只有在下拉选单设置为支持文本和图像时,才能使用它们。
同时设置 Caption Text 和 Item Text 属性的情况下,下拉选单支持每个选项使用文本。使用 GameObject > UI > Dropdown 菜单项时,默认情况下会设置这些属性。
Caption Text 是用于保存当前所选选项的文本的文本组件。此组件通常是 Dropdown 游戏对象的子项。
Item Text 是用于保存每个选项的文本的文本组件。此组件通常是 Item 游戏对象的子项。
同时设置 Caption Image 和 Item Image 属性的情况下,下拉选单支持每个选项使用图像。默认情况下未设置这些属性。
Caption Image 是用于保存当前所选选项的图像的图像组件。此组件通常是 Dropdown 游戏对象的子项。
Item Image 是用于保存每个选项的图像的图像组件。此组件通常是 Item 游戏对象的子项。
用于下拉选单的实际文本和图像在下拉选单组件的 Options 属性中指定,也可通过代码设置。
放置下拉列表
下拉列表相对于下拉选单控件的位置由模板的矩形变换的锚定和轴心确定。
默认情况下,列表将显示在控件下方。这是通过将模板锚定到控件的底部来实现的。模板的轴心也需要位于顶部,以便在扩展模板来容纳可变数量的选项时仅向下扩展。
下拉选单控件具有简单的逻辑,可以防止下拉选单显示在画布的边界之外,因为这样就无法选择某些选项。如果位于默认位置的下拉选单未完全位于画布矩形内,则其相对于控件的位置将反转。例如,默认情况下在控件下方显示的列表将显示在其上方。
此逻辑非常简单并有一定的局限性。下拉选单模板不能大于画布大小的一半减去下拉控件的大小,否则如果下拉选单控件放在画布的中间,则列表在任何位置都可能没有足够空间。
滚动条 (Scrollbar)