UGUI-下拉選單 (Dropdown)
__下拉選單__可用于讓用戶從選項列表中選擇單個選項。
此控件會顯示當前選擇的選項。單擊后,此控件會打開選項列表,以便選擇新選項。選擇新選項后,列表再次關閉,而控件將顯示新選擇的選項。如果用戶單擊控件本身或畫布內(nèi)的任何其他位置,列表也將關閉。





詳細信息
可在 Inspector 中指定選項列表,也可通過代碼指定。對于每個選項,可以指定文本字符串,也可以選擇指定圖像(如果下拉選單設置為支持圖像)。
按鈕有一個名為?On Value Changed?的事件,當用戶完成對列表中某個選項的單擊時會響應。該組件支持發(fā)送作為所選選項索引的整數(shù)值。0 代表第一個選項,1 代表第二個,依此類推。
模板系統(tǒng)
根據(jù)設計,下拉選單控件有一個子游戲?qū)ο笥米鲉螕粝吕x單控件時顯示的下拉列表的模板。此模板游戲?qū)ο笤谀J情況下處于非活動狀態(tài),但可以在編輯模板時將其激活,從而方便查看正在進行的狀態(tài)。必須在下拉選單組件的 Template 屬性中指定對模板對象的引用。


模板必須包含一個啟用開關 (Toggle) 組件的列表項。單擊下拉選單控件來創(chuàng)建實際下拉列表時,此項會多次重復,列表中的每個選項都使用一個副本。該項的父項會自動調(diào)整大小,從而容納所有項。
可通過許多不同方式設置模板。GameObject > UI > Dropdown 菜單項使用的設置包括一個滾動視圖,因此如果選項太多而不能一次完整顯示,則會出現(xiàn)一個滾動條,用戶可以滾動這些選項。但這不是模板設置的必需部分。
(請參閱 ScrollRect 頁面以了解有關滾動視圖的更多信息。)
設置文本和圖像支持
下拉選單支持每個選項使用一個文本內(nèi)容和一個圖像內(nèi)容。文本和圖像都是可選的。只有在下拉選單設置為支持文本和圖像時,才能使用它們。
同時設置 Caption Text 和 Item Text 屬性的情況下,下拉選單支持每個選項使用文本。使用 GameObject > UI > Dropdown 菜單項時,默認情況下會設置這些屬性。
Caption Text 是用于保存當前所選選項的文本的文本組件。此組件通常是 Dropdown 游戲?qū)ο蟮淖禹棥?/p>
Item Text 是用于保存每個選項的文本的文本組件。此組件通常是 Item 游戲?qū)ο蟮淖禹棥?/p>
同時設置 Caption Image 和 Item Image 屬性的情況下,下拉選單支持每個選項使用圖像。默認情況下未設置這些屬性。
Caption Image 是用于保存當前所選選項的圖像的圖像組件。此組件通常是 Dropdown 游戲?qū)ο蟮淖禹棥?/p>
Item Image 是用于保存每個選項的圖像的圖像組件。此組件通常是 Item 游戲?qū)ο蟮淖禹棥?/p>
用于下拉選單的實際文本和圖像在下拉選單組件的 Options 屬性中指定,也可通過代碼設置。
放置下拉列表
下拉列表相對于下拉選單控件的位置由模板的矩形變換的錨定和軸心確定。
默認情況下,列表將顯示在控件下方。這是通過將模板錨定到控件的底部來實現(xiàn)的。模板的軸心也需要位于頂部,以便在擴展模板來容納可變數(shù)量的選項時僅向下擴展。
下拉選單控件具有簡單的邏輯,可以防止下拉選單顯示在畫布的邊界之外,因為這樣就無法選擇某些選項。如果位于默認位置的下拉選單未完全位于畫布矩形內(nèi),則其相對于控件的位置將反轉(zhuǎn)。例如,默認情況下在控件下方顯示的列表將顯示在其上方。
此邏輯非常簡單并有一定的局限性。下拉選單模板不能大于畫布大小的一半減去下拉控件的大小,否則如果下拉選單控件放在畫布的中間,則列表在任何位置都可能沒有足夠空間。
滾動條 (Scrollbar)