Χρήση του αναπτυσσόμενου μενού Unity UI
Περιβάλλον επαλήθευσης
- παράθυρα
-
- Παράθυρα 11
- Επεξεργαστής ενότητας
-
- 2020.3.25στ1
Προϋποθέσεις για αυτήν τη συμβουλή
Οι ακόλουθες ρυθμίσεις έχουν γίνει εκ των προτέρων ως προϋπόθεση για την εξήγηση αυτών των συμβουλών.
Αρχικά
Τα αναπτυσσόμενα μενού μπορούν να χρησιμοποιηθούν για να επιτρέψουν στον χρήστη να επιλέξει μία από τις πολλές επιλογές. Ακόμα κι αν υπάρχουν πολλά στοιχεία για να διαλέξετε, μόνο τα επιλεγμένα στοιχεία εμφανίζονται στην οθόνη, κάτι που είναι χρήσιμο για την εξοικονόμηση χώρου και διευκολύνει τον χρήστη να καταλάβει τι επιλέγει.
Τοποθέτηση αναπτυσσόμενου μενού
Επιλέξτε ένα "αναπτυσσόμενο μενού" από την ιεραρχία για να το προσθέσετε στην προβολή.
Προσαρμόστε τη θέση του αναπτυσσόμενου μενού κατά την κρίση σας. Εάν το μέγεθος φαίνεται μικρό, σύρετε το πλαίσιο για να το μεγεθύνετε.
Για να Dropdown
ορίσετε το μέγεθος του κειμένου μέσα, επιλέξτε Είναι μέσα Label
αντί για .
Όταν το εκτελείτε, μπορείτε να δείτε το αναπτυσσόμενο μενού σε δράση. Στην αρχική κατάσταση, υπάρχουν τρία στοιχεία για να διαλέξετε, ώστε να μπορείτε να αλλάξετε την επιλογή.
Ωστόσο, εάν αλλάξετε το μέγεθος του αναπτυσσόμενου μενού ή Label
το μέγεθος γραμματοσειράς του , δεν θα ταιριάζει με το μέγεθος του κειμένου που εμφανίζεται στο αναπτυσσόμενο μενού.
Προσαρμογή του μεγέθους των αναπτυσσόμενων στοιχείων
Εάν δεν έχετε αλλάξει το μέγεθος του αντικειμένου ή το μέγεθος γραμματοσειράς όταν τοποθετείτε το αναπτυσσόμενο μενού, δεν χρειάζεται να το κάνετε αυτό, αλλά εάν το κάνετε, θα πρέπει να ορίσετε και το αναπτυσσόμενο στοιχείο.
Το αναπτυσσόμενο αντικείμενο περιέχει έναν ορισμό του τρόπου εμφάνισης του επιλεγμένου στοιχείου όταν εμφανίζεται.
Dropdown
Template
είναι η περίπτωση. Εάν δεν ορίσετε μερικές ρυθμίσεις, δεν θα φαίνεται όμορφο.
Πρώτα απ 'όλα, θεωρείται ότι κάθε παράμετρος του τοποθετημένου αναπτυσσόμενου μενού έχει οριστεί ως εξής. Εάν ρυθμίζετε με διαφορετικές παραμέτρους, αντικαταστήστε τους αριθμούς και διαβάστε τους. Σε αυτό το παράδειγμα, ορίζονται και άλλες παράμετροι, αλλά παραλείπονται επειδή δεν σχετίζονται με τα αναπτυσσόμενα στοιχεία.
Τιμή ονόματος παραμέτρου | αντικειμένου | |
---|---|---|
Αναπτυσσόμενο μενού | ύψος | 72 |
Αναπτυσσόμενη ετικέτα > | Μέγεθος γραμματοσειράς | 40 |
Μέγεθος γραμματοσειράς στοιχείου
Πρώτα, αλλάξτε το μέγεθος γραμματοσειράς του στοιχείου. Επιλέξτε > > >Dropdown
Template
Content
> > Viewport
Item
Item Label
για το αντικείμενο.
Καθορίστε ένα μέγεθος γραμματοσειράς 40, το οποίο είναι το ίδιο με το Label. Εάν θέλετε να εμφανίσετε περισσότερες επιλογές, μπορείτε να τις κάνετε λίγο μικρότερες.
Ακόμα κι αν αυξήσετε το μέγεθος της γραμματοσειράς, το μέγεθος εμφάνισης ενός στοιχείου δεν αλλάζει, επομένως ενδέχεται να μην μπορείτε να δείτε τίποτα ακόμα και αν το εκτελέσετε.
Μέγεθος στοιχείου
Στη συνέχεια, ορίστε το μέγεθος ενός στοιχείου.
Τα αντικείμενα που πρέπει να επιλέξετε είναι > > > >Dropdown
. Content
Item
Template
Viewport
Ρυθμίστε το ύψος σε 72. Εάν θέλετε να εμφανίσετε περισσότερες επιλογές, μπορείτε να τις κάνετε λίγο μικρότερες.
Αυτό καθιστά ορατά τα στοιχεία του στοιχείου, αλλά για κάποιο λόγο, το επάνω και το κάτω μέρος του επιλεγμένου στοιχείου κόβονται λίγο ανεξάρτητα από την κύλιση.
Για να διορθώσετε αυτό το πρόβλημα, ορίστε το ύψος του > > >Dropdown
Viewport
Content
Template
σε Item
72, το οποίο είναι το ίδιο με το .
Αυτό θα σας επιτρέψει να δείτε σωστά τα επάνω και κάτω στοιχεία.
Παρεμπιπτόντως, στις προεπιλεγμένες αναπτυσσόμενες ρυθμίσεις Item
, το ύψος του έχει οριστεί ελαφρώς μεγαλύτερο από Content
.
Ως αποτέλεσμα, εμφανίζεται ένα μικρό περιθώριο πάνω και κάτω από το επιλεγμένο στοιχείο, μειώνοντας την αίσθηση πίεσης.
Μέγεθος σημαδιού επιλογής
Το μέγεθος του σημείου επιλογής είναι επίσης μικρό, οπότε θα το διορθώσω.
Το αντικείμενο προορισμού είναι "> >Dropdown
Viewport
> > > Template
Item
Content
Item Checkmark
".
Εάν αλλάξετε το πλάτος και το ύψος, το σημάδι επιλογής θα αυξηθεί επίσης, οπότε ορίστε το σε 72 εδώ.
Όταν το εκτελώ, το σημάδι επιλογής είναι μεγαλύτερο, αλλά η θέση είναι λάθος, οπότε θα το διορθώσω επίσης.
Item Checkmark
Πρώτα, ορίστε το pivot X σε 0 και, στη συνέχεια, ορίστε τη θέση X σε 0 επίσης.
Αυτό σας επιτρέπει να το τοποθετήσετε σε καλό μέρος ανεξάρτητα από το μέγεθος της επιταγής ή της ετικέτας.
Επίσης, εφόσον επικαλύπτει την ετικέτα, Item Lebel
επιλέξτε να κάνετε την αριστερή θέση ίδια με το μέγεθος του σημαδιού ελέγχου.
Μέγεθος γραμμής κύλισης
Η γραμμή κύλισης είναι επίσης μικρή και δύσκολο να κάνετε κλικ, οπότε κάντε την μεγαλύτερη. Ο καθένας είναι συγκεκριμένος για το μέγεθος, οπότε δεν είναι κάτι που μπορεί να προσδιοριστεί. Σε αυτήν την περίπτωση, ορίζουμε 48, που είναι τα 2/3 του ύψους του αναπτυσσόμενου μενού.
Το αντικείμενο που θα επιλεγεί ορίζεται σε μια τιμή πλάτους σε > >Dropdown
Template
Scrollbar
.
Μέγεθος αναπτυσσόμενου εικονιδίου
Δεν είναι από την πλευρά του στοιχείου, αλλά το αναπτυσσόμενο εικονίδιο είναι ακόμα μικρό, οπότε θα το αλλάξω.
Το αντικείμενο που θα επιλεγεί είναι >Dropdown
Arrow
.
Όσον αφορά το μέγεθος του εικονιδίου, μπορείτε να αλλάξετε το μέγεθος ρυθμίζοντας το πλάτος και το ύψος. Εδώ, το ορίζουμε σε 72, το οποίο είναι το ίδιο με το ύψος του αναπτυσσόμενου μενού.
Εάν συμβαίνει αυτό, η θέση θα είναι απενεργοποιημένη, οπότε ορίστε τον άξονα X σε 1 και τη θέση X σε 0. Αυτό σας επιτρέπει να εμφανίσετε το εικονίδιο σε ωραία θέση ανεξάρτητα από το μέγεθος.
Αριθμός αναπτυσσόμενων στοιχείων που εμφανίζονται
Αυξάνοντας το μέγεθος του αντικειμένου, υπάρχουν λιγότερα επιλεγμένα στοιχεία που μπορούν να εμφανιστούν ταυτόχρονα, επομένως θα προσπαθήσουμε να το αυξήσουμε.
Αυτή η ρύθμιση καθορίζεται στο >Dropdown
Template
.
Δεδομένου ότι ο αριθμός των αντικειμένων που θα εμφανίζονται δεν καθορίζεται από τον αριθμό των αντικειμένων, αλλά το μέγεθος ορίζεται από το ύψος, η καθορισμένη τιμή είναι "το ύψος × ο αριθμός των αντικειμένων".
Εδώ, θέλουμε να εμφανίσουμε περίπου 10 κομμάτια, έτσι 72 x 10 = 720
ώστε .
Η περιοχή προβολής είναι διευρυμένη, αλλά προς το παρόν υπάρχουν μόνο 3 στοιχεία, επομένως εμφανίζονται μόνο 3 στοιχεία.
Ορίστε την επιλογή
Από προεπιλογή, έχουν οριστεί τρία στοιχεία της "Επιλογής A ~ Επιλογή C".
Αυτά τα Dropdown
στοιχεία βρίσκονται στο στοιχείο του αντικειμένου Dropdown
.
Εάν μετακινηθείτε προς τα κάτω στον επιθεωρητή, θα βρείτε το στοιχείο "Επιλογές", όπου μπορείτε να αλλάξετε ελεύθερα το όνομα ή να προσθέσετε ή να διαγράψετε.
Ορισμός της αρχικής επιλογής
Η επιλογή των στοιχείων καθορίζεται από αριθμούς.
Dropdown
Dropdown
Μπορείτε να καθορίσετε την αρχική επιλογή στην τιμή του στοιχείου του αντικειμένου.
Η αρίθμηση στοιχείων ξεκινά από 0, οπότε ορίστε 3 εάν θέλετε η τέταρτη να είναι η αρχική επιλογή.
Εκτέλεση επεξεργασίας κατά την επιλογή ενός στοιχείου
Μπορεί να θέλετε να κάνετε κάτι όταν επιλέγετε ένα στοιχείο στο αναπτυσσόμενο μενού. Αυτό μπορεί να εφαρμοστεί με τον ίδιο τρόπο όπως όταν κάνετε κλικ σε ένα κουμπί.
Το αντικείμενο έχει ένα αναπτυσσόμενο μενού και ένα κείμενο, ένα κάθε φορά. Αφού επιλέξετε ένα στοιχείο στο αναπτυσσόμενο μενού, βεβαιωθείτε ότι το περιεχόμενο εμφανίζεται σε ένα αντικείμενο κειμένου στα δεξιά. Δεν έχει σημασία τίποτα άλλο από την τοποθέτηση των αντικειμένων, ώστε να μπορείτε να το ρυθμίσετε όπως θέλετε.
Αρχικά, δημιουργήστε ένα σενάριο στο έργο σας. DropdownItemSelector
Σε αυτή την περίπτωση, ονομάζεται .
Ανοίξτε τη δέσμη ενεργειών και προσθέστε τον κώδικα στα εξής:
using UnityEngine;
using UnityEngine.UI;
public class DropdownItemSelector : MonoBehaviour
{
<summary>ドロップダウンで選択したアイテムの内容を表示するテキストオブジェクト。</summary>
[SerializeField] Text TextValueSetter;
<summary>値を取得するドロップダウンオブジェクト。</summary>
[SerializeField] Dropdown Dropdown;
<summary>ドロップダウンでアイテムを選択したときに呼ばれます。</summary>
public void OnSelectionChanged()
{
// ドロップダウンの選択値と選択しているアイテムのテキストを表示
TextValueSetter.text = $"value={Dropdown.value}, options.text={Dropdown.options[Dropdown.value].text}";
}
}
Αφού αποθηκεύσετε τη δέσμη ενεργειών, επισυνάψτε την EventSystem
στο αντικείμενο.
Όπως εξηγείται στην ενότητα Συμβουλές για κουμπιά, αυτή η συμβουλή επισυνάπτει σταθερά δέσμες ενεργειών, εκτός εάν υπάρχει συγκεκριμένος EventSystem
λόγος για να το κάνετε.
Επισυνάψτε ένα αναπτυσσόμενο αντικείμενο για να λάβετε την τιμή από και ένα αντικείμενο κειμένου για να ορίσετε την τιμή.
Στη συνέχεια, επιλέξτε το αναπτυσσόμενο αντικείμενο με το οποίο θέλετε να εργαστείτε και προσθέστε "On Value Change (Int32)" στο Dropdown
στοιχείο Inspector.
Στο κάτω αριστερό στοιχείο, πρέπει να βάλουμε το αντικείμενο στο οποίο είναι συνδεδεμένο το σενάριο που πρόκειται να λειτουργήσει, γι 'αυτό το ορίζουμε εδώ EventSystem
.
Επιλέξτε από OnSelectionChanged
Χωρίς λειτουργία DropdownItemSelector
.
Δοκιμάστε να το εκτελέσετε για να δείτε αν λειτουργεί σωστά.
Δυναμική προσθήκη στοιχείων
Μπορείτε να καθορίσετε ποια στοιχεία μπορούν να επιλεγούν στο πρόγραμμα επεξεργασίας, αλλά μπορεί να υπάρχουν φορές που η κατάσταση αλλάζει κατά τη διάρκεια του παιχνιδιού και θέλετε να αλλάξετε τα στοιχεία που επιλέγετε. Σε αυτήν την περίπτωση, θα αλλάξετε το στοιχείο που επιλέξατε στο πρόγραμμα.
Το αντικείμενο τακτοποιεί το "drop-down" και το "button x2" όπως φαίνεται παρακάτω. Μπορείτε να ορίσετε ελεύθερα άλλες παραμέτρους εκτός από τη στοίχιση.
Δημιουργήστε ένα σενάριο και ονομάστε DropdownDynamic
το . Ο κώδικας θα πρέπει να μοιάζει με αυτό:
using UnityEngine;
using UnityEngine.UI;
public class DropdownDynamic : MonoBehaviour
{
<summary>アイテム処理を行うドロップダウンオブジェクト。</summary>
[SerializeField] Dropdown Dropdown;
<summary>追加ボタンをクリックしたとき。</summary>
public void OnClickAdd()
{
// アイテムを追加します
Dropdown.options.Add(new Dropdown.OptionData { text = $"Item {Dropdown.options.Count}" });
// ドロップダウンの内容を更新します
Dropdown.RefreshShownValue();
}
<summary>削除ボタンをクリックしたとき。</summary>
public void OnClickRemove()
{
// アイテムを削除します
if (Dropdown.options.Count >= 1)
{
Dropdown.options.RemoveAt(Dropdown.options.Count - 1);
}
// ドロップダウンの内容を更新します
Dropdown.RefreshShownValue();
}
}
Dropdown.options
Ελέγχει τα στοιχεία που θα επιλεγούν, ώστε Add
να μπορείτε να ελέγχετε δυναμικά τα στοιχεία κάνοντας ή Remove
πάνω τους.
EventSystem
Επισύναψη δεσμών ενεργειών και αντικειμένων στο .
Αντιστοιχίστε μια μέθοδο στο συμβάν κλικ των κουμπιών προσθήκης και διαγραφής, αντίστοιχα.
Όταν τελειώσετε, εκτελέστε το. Εάν το στοιχείο διαγραφεί στο πρόγραμμα επεξεργασίας, το στοιχείο δεν θα εμφανιστεί ακόμα κι αν κάνετε κλικ σε αυτό.
Εάν κάνετε κλικ στο κουμπί προσθήκης τέσσερις φορές, μπορείτε να δείτε ότι έχουν προστεθεί τέσσερα στοιχεία.
Εάν κάνετε κλικ στο κουμπί διαγραφής δύο φορές, μπορείτε να δείτε ότι έχουν διαγραφεί δύο στοιχεία.