__下拉选单__可用于让用户从选项列表中选择单个选项。
此控件会显示当前选择的选项。单击后,此控件会打开选项列表,以便选择新选项。选择新选项后,列表再次关闭,而控件将显示新选择的选项。如果用户单击控件本身或画布内的任何其他位置,列表也将关闭。
属性: | 功能: |
---|---|
Interactable | 此组件是否接受输入?请参阅 Interactable。 |
Transition | 确定控件以何种方式对用户操作进行可视化响应的属性。请参阅过渡选项。 |
Navigation | 确定控件顺序的属性。请参阅导航选项。 |
Template | 下拉列表的模板的矩形变换。请参阅以下说明。 |
Caption Text | 用于保存当前所选选项的文本的文本 (Text) 组件。(可选) |
Caption Image | 用于保存当前所选选项的图像的图像 (Image) 组件。(可选) |
Item Text | 用于保存列表项的文本的文本组件。(可选) |
Item Image | 用于保存列表项的图像的图像组件。(可选) |
Value | 当前所选选项的索引。0 代表第一个选项,1 代表第二个,依此类推。 |
Options | 可能选项的列表。可为每个选项指定一个文本字符串和一个图像。 |
属性: | 功能: |
---|---|
On Value Changed | 用户单击了下拉列表中一个选项时调用的 UnityEvent。 |
可在 Inspector 中指定选项列表,也可通过代码指定。对于每个选项,可以指定文本字符串,也可以选择指定图像(如果下拉选单设置为支持图像)。
按钮有一个名为 On Value Changed 的事件,当用户完成对列表中某个选项的单击时会响应。该组件支持发送作为所选选项索引的整数值。0 代表第一个选项,1 代表第二个,依此类推。
根据设计,下拉选单控件有一个子游戏对象用作单击下拉选单控件时显示的下拉列表的模板。此模板游戏对象在默认情况下处于非活动状态,但可以在编辑模板时将其激活,从而方便查看正在进行的状态。必须在下拉选单组件的 Template 属性中指定对模板对象的引用。
模板必须包含一个启用开关 (Toggle) 组件的列表项。单击下拉选单控件来创建实际下拉列表时,此项会多次重复,列表中的每个选项都使用一个副本。该项的父项会自动调整大小,从而容纳所有项。
可通过许多不同方式设置模板。GameObject > UI > Dropdown 菜单项使用的设置包括一个滚动视图,因此如果选项太多而不能一次完整显示,则会出现一个滚动条,用户可以滚动这些选项。但这不是模板设置的必需部分。
(请参阅 ScrollRect 页面以了解有关滚动视图的更多信息。)
下拉选单支持每个选项使用一个文本内容和一个图像内容。文本和图像都是可选的。只有在下拉选单设置为支持文本和图像时,才能使用它们。
同时设置 Caption Text 和 Item Text 属性的情况下,下拉选单支持每个选项使用文本。使用 GameObject > UI > Dropdown 菜单项时,默认情况下会设置这些属性。
同时设置 Caption Image 和 Item Image 属性的情况下,下拉选单支持每个选项使用图像。默认情况下未设置这些属性。
用于下拉选单的实际文本和图像在下拉选单组件的 Options 属性中指定,也可通过代码设置。
下拉列表相对于下拉选单控件的位置由模板的矩形变换的锚定和轴心确定。
默认情况下,列表将显示在控件下方。这是通过将模板锚定到控件的底部来实现的。模板的轴心也需要位于顶部,以便在扩展模板来容纳可变数量的选项时仅向下扩展。
下拉选单控件具有简单的逻辑,可以防止下拉选单显示在画布的边界之外,因为这样就无法选择某些选项。如果位于默认位置的下拉选单未完全位于画布矩形内,则其相对于控件的位置将反转。例如,默认情况下在控件下方显示的列表将显示在其上方。
此逻辑非常简单并有一定的局限性。下拉选单模板不能大于画布大小的一半减去下拉控件的大小,否则如果下拉选单控件放在画布的中间,则列表在任何位置都可能没有足够空间。
Dropdown
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.