Kojote Geschrieben 26. August 2019 Melden Share Geschrieben 26. August 2019 Hi! Mal ne Frage, wie ändere ich im Dropdown den Abstand der einzelnen Elemente zueinander? Finde da leider nichts, kann nur die Textgröße beeinflussen und so siehts unmöglich aus: Grüße von Kojote Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 26. August 2019 Melden Share Geschrieben 26. August 2019 Ich glaube, ein Dropdown benutzt eine Vertical Layout Group für die innere Liste, oder? Die musst du nur raussuchen und da den Wert vom Padding ändern. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 26. August 2019 Autor Melden Share Geschrieben 26. August 2019 Jop du hast Recht, es fehlt eine Vertical Layout Gruppe. Problem ist, die Liste wird zur Laufzeit erstellt. Kann man da was machen? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 26. August 2019 Melden Share Geschrieben 26. August 2019 Wird sie zur Laufzeit befüllt oder existiert die Komponente tatsächlich nicht? Wenn die Komponente wirklich noch nicht existiert, dann musst du sie dir halt raussuchen und zur Laufzeit abändern. Wenn du an die Stelle des Codes herankommst, an der die Komponente erstellt wird, dann kannst du dich da einklinken. Wenn nicht, wird's natürlich kniffliger. Ehrlich gesagt sieht es Unity aber gar nicht ähnlich, dass da zur Laufzeit Komponenten erstellt werden... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 27. August 2019 Autor Melden Share Geschrieben 27. August 2019 Ja, wird zur Laufzeit erstellt, was die Sache knifflig macht. Das ist aber weniger Unitys Schuld, als dem Script geschuldet, welches ich nutze. Hier mal ein Ausschnitt für Resolution: void OnEnable() { startTimer = Time.time + 0.5f; updateParameter(); } public void updateParameter() { fpsToggle.isOn = LD_SP_System_Settings.Instance.GetVideoSettings().fps; fullscreenToggle.isOn = Screen.fullScreen; List<TMP_Dropdown.OptionData> Options2 = new List<TMP_Dropdown.OptionData>(); resolutionsAll = Screen.resolutions; resolutionSelect.ClearOptions(); resolutions.Clear(); var m = 0; int k = 0; List<string> resol = new List<string>(); foreach (Resolution res in resolutionsAll) { if (!resol.Contains(res.width + "x" + res.height)) { resol.Add(res.width + "x" + res.height); resolutions.Add(res); Options2.Add(new TMP_Dropdown.OptionData(res.width + "x" + res.height)); if (Screen.width == res.width && Screen.height == res.height) { k = m; } m++; } } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 27. August 2019 Melden Share Geschrieben 27. August 2019 Das ist ja nur das Befüllen der Liste, nicht das Erstellen einer Komponente, die die Elemente anzeigt. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 27. August 2019 Autor Melden Share Geschrieben 27. August 2019 Ich dachte das wird über den New Operator mit der Liste gemacht. 🤔 Wie macht er das dann? Ist es das hier: Options2.Add(new TMP_Dropdown.OptionData("Disable")); Options2.Add(new TMP_Dropdown.OptionData("HardOnly")); Options2.Add(new TMP_Dropdown.OptionData("All")); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 27. August 2019 Melden Share Geschrieben 27. August 2019 Ich kenne mich mit der TextMesh version nicht aus (und da es TM ist liegt der Fehler wahrscheinlich nicht an Unity), aber der normale Dropdown Element hat ein GameObject drinne welches sich Template nennt. Den kann man es bearbeiten. Zu den Abständen zwischen den Items gibt es keine Layouteinstellungen. Irgendwie wird das von selbst berechnet. Wenn ich also dein Bild anschaue liegt es wahrscheinlich an den Items. Deren Recttramsform größe ist irgendwie falsch. Denke mal bei TM ist das so ähnlich. Edıt hab mır mal TM Dropdown angeschaut. Tatsächlich ist das bei mir auch verbuggt. Der Text war bei mir übelst groß und daher nicht richtig lesbar. Wenn man das per Hand korrigiert, wird es normal. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 28. August 2019 Autor Melden Share Geschrieben 28. August 2019 Wo konntest du es ändern @MaZy? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 28. August 2019 Melden Share Geschrieben 28. August 2019 Man sieht beim zweiten Bild schlecht, aber da ist ein gelber Rechteck, wo man bestimmt, wie weit der Text gehen darf. Den hab ich bei mir angepasst. Der gelbe Rechteck gibt es standardmäßig bei TM Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 28. August 2019 Melden Share Geschrieben 28. August 2019 Wenn TMPro den Standards von Unity folgt (weiß ich gerade nicht), dann müsste auf dem "Content"-Objekt eine Komponente sitzen, die sich um das Layouting der Elemente als Liste kümmert. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 28. August 2019 Autor Melden Share Geschrieben 28. August 2019 Schau ich mir dann gleich mal an.😀 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 28. August 2019 Autor Melden Share Geschrieben 28. August 2019 Das einzige was er dann bei mir macht, wenn ich den gelben Rahmen ändere ist das: Rießen Abstand oben, der gerade noch gleichmäßig im Label oben und unten war. Was mir gerade wieder einfällt, dass selbe Problem hatte ich letztes Jahr schon mal bei einem Projekt. Im Endeffekt hab ich die TMP_Dropdown ausgebaut und das normale Dropdown wieder eingebaut. Also wenn ich net bald ne Lösung finde, wird das wohl die Lösung werden. EDIT: Das blöde ist, was ich gerade merke, dass würde wieder zu nem Chaos in den Scripten führen, weil einiges im Script auf TMP Komponenten zugreift, also zerreis ich mehrere Scripte wegen paar Pixeln. Aber muss doch ne Lösung geben.^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
MaZy Geschrieben 29. August 2019 Melden Share Geschrieben 29. August 2019 Du muss mal gucken, ob halt an den gelben Rectangle liegt oder an den Unity Recttansform. Musst mal halt da rumspielen denke ich mal. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 30. Oktober 2019 Autor Melden Share Geschrieben 30. Oktober 2019 Fehler wurde beseitigt. Anscheinend ist das ein Bug in der Unity 2017er Version. In 2018 werden die eingestellten werte aus dem Inspector auch bei Dropdowns angewendet, die über ein Script initialisiert bzw. erstellt wurden. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.