Einzelnen Beitrag anzeigen

Rapunzel

Registriert seit: 1. Mär 2019
48 Beiträge
 
Delphi 11 Alexandria
 
#1

Delphi 11 FMX Benutzerdefinierte Style

  Alt 4. Dez 2021, 11:10
Hallo,

ich versuche mich gerade in meiner Freizeit in das FMX Framework einzuarbeiten. Das Konzept der Style habe ich soweit verstanden. Mit einigen Details bzw. den Zusammenhängen wann was wie in der IDE passiert, wenn ich einen benutzerdefinierten Style erstellen möchte, habe ich Schwierigkeiten.

Ich habe ein neues FMX Projekt mit einem Button und einem Stylebook erstellt. Das Stylebook ist dem Formular zugewiesen. Jetzt weise ich dem Stylebook den Android Style MaterialOxfordBlueSE zu. In der Styles Collection sehe ich jetzt die Einträge Default und Android. Das heißt mein neuer Style gilt jetzt nur für die Plattform Android, richtig? Wähle ich Style Android aus, sehe ich das erwartete Ergebnis, alles schön dunkel.

Jetzt wähle ich einen Button aus, öffne das Kontextmenü und klicke benutzerdefinierten Styl bearbeiten... an. Der Styldesigner wird geöffnet und ab jetzt bin ich bin etwas verwirrt. Links gibt es wie erwartet (nur) den neuen Style Button1Style1. Aber unter Plattform ist plötzlich AndroidL Light ausgewählt. Der Button in der Vorschau entspricht dem Standardstyle und nicht dem Dark Style. Wähle ich nun Plattform Android aus, werden links alle Styles angezeigt. In der Liste finde ich dann auch meinen neuen Button1Style1. Ändere dort testweise die Textcolor und speichere das Ergebnis beim Schliessen, ändert der Text meines Buttons auch wie gewünscht die Farbe und der benutzerdefinierte Style ist meinem Button zugewiesen. Aber im StyleBook taucht jetzt in der Collection ein weiterer Style AndroidL Light auf, den ich eigentlich gar nicht verändern wollte. Den Style kann ich ohne Weiteres löschen. Mein neuer ButtonStyle bleibt erhalten. Öffne ich erneut den Style Designer, beginnt allerdings das Spielchen von Vorne.

Ich habe auch schon versehendlich unter Platform AndroidL Light den benutzerdefinierten Styl gespeichert. Dieser wird dann meinem Button zugewiesen. Wenn das der Fall ist, werden im Kontextmenü die Einträge zum Bearbeiten des Styls nicht mehr angezeigt. Unter Stylelookup ist dieser benutzerdefinierte Styl jedoch nicht auswählbar. Erst wenn die Stylzuweisung lösche, stellt sich das Kontextmenü wie erwartet dar. Aber wo in meinem Projekt geistert dieser Style jetzt rum?

Mache ich hier grundsätzlich was falsch oder muss ich mit diesem Verhalten der IDE leben?

Viele Grüße
  Mit Zitat antworten Zitat