AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sind Styles brauchbar?

Ein Thema von TigerLilly · begonnen am 30. Jun 2023 · letzter Beitrag vom 16. Feb 2024
Antwort Antwort
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
519 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Sind Styles brauchbar?

  Alt 19. Sep 2023, 14:31
Ich finde FMX Styles eigentlich schon ziemlich gut. Ein Custom Style zu erstellen funktioniert meiner Meinung nach um einiges besser und einfacher als mit VLC oder ähnlichen UI-Frameworks, die nicht auf Web-Technologien aufbauen.

Leider fehlen ein paar Dinge, wie Variablen für Farben, Textgrößen usw.

Ich habe deswegen vor einigen Monaten ein kleines Programm geschrieben, welches "CSS"-artigen Source Code nimmt und in Firemonkey's TStyleBook umwandelt. Dies kann zur Laufzeit gemacht werden, oder man kann das generierte Stylebook auch in eine Datei abspeichern und dann in der Delphi IDE laden.

Es unterstützt alle Controls, Custom Variablen für Farben und Größen, Vererbung, "Macros" (z.B. "!Margin", der den Margin gleich für Top, Right, Bottom und Left setzt), Animationen/States (Property => {} Struktur), Kommentare usw.

Eine Button Style definition sieht dann ungefähr so aus:

Code:
TRectangle #buttonstyle { 
  !Radius: @radius-controls;
  Stroke.Thickness: 0;
  Stroke.Color => {
    default: @bg-ui-5;
    active: @bg-ui-2;
  }
  Fill.Color:@bg-ui-4;

  TRectangle { 
    !Radius: @radius-controls;
    Stroke.Thickness: 0;
    Fill.Color: @color-primary;  
    Opacity => {
      default: 0;
      hover: 0.4;
    }
  }
       
  TRectangle { 
    !Radius: @radius-controls;
    Stroke.Thickness: 0;
    Fill.Color: @color-primary;  
    Opacity => {
      default: 0;
      active: 1;
    }
  }
                       
  TText #text {             
    TextSettings.FontColor: @color-text;
  } 
}
Es ist ziemlich ähnlich wie CSS aufgebaut, hat aber ein paar kleine Unterschiede und man muss grundsätzlich wissen wie das FMX styling system funktioniert um es Anwenden zu können.

Bilder der Demo Anwendung mit den Styles findet man im Anhang. Der einzige unterschied zwischen den Bildern sind die Variabeln für die Farben.

Sollte jemand interesse daran haben das System selbst auszuprobieren oder anzuwenden kann man mir gerne eine PN schreiben. Ich wollte dies mal ganz öffentlich auf GitHub posten, kam aber leider nie dazu den Code zu verbessern und ein paar Bugs zu beseitigen...

Freundliche Grüsse
Angehängte Grafiken
Dateityp: png image (1).png (26,9 KB, 85x aufgerufen)
Dateityp: png image (2).png (26,7 KB, 70x aufgerufen)
Dateityp: png image (4).png (26,8 KB, 70x aufgerufen)
Milos

Geändert von milos (19. Sep 2023 um 14:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.276 Beiträge
 
Delphi 12 Athens
 
#2

AW: Sind Styles brauchbar?

  Alt 20. Sep 2023, 08:40
Wie funktioniert das dann mit 3rd Party Komponenten?
  Mit Zitat antworten Zitat
AuronTLG

Registriert seit: 2. Mai 2018
Ort: Marburg
352 Beiträge
 
Delphi 12 Athens
 
#3

AW: Sind Styles brauchbar?

  Alt 20. Sep 2023, 09:24
Zitat:
Wie funktioniert das dann mit 3rd Party Komponenten?
Die meisten optischen Drittanbieterkomponenten, die ich habe, sind von TMS, mit denen das auch sehr gut geht. Jene haben nämlich einfach ein Attribut "AdaptToStyle", was man anhaken kann, woraufhin die Komponente sich selbst automatisch an den Stil anpasst.

Abgesehen davon benutze ich FMX ausschließlich für Smartphone-Apps, wofür die Styles sehr nützlich und gut anwendbar waren. Ich habe mir sowohl für dunklen und hellen Stil einen Premium-Style als Template genommen, angepasst und das ganze funktioniert und schaut ziemlich gut aus.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.276 Beiträge
 
Delphi 12 Athens
 
#4

AW: Sind Styles brauchbar?

  Alt 20. Sep 2023, 09:32
FMX oder FNC von TMS?
Ich hab da nicht soo super Erfahrungen mit dem Styling, dehalb frage ich. Schriftgrößen, Abstände, Margins, irgendwie funktioniert das nicht einheitlich + je nach Stlye schaut was anders geändert aus.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.287 Beiträge
 
Delphi 13 Florence
 
#5

AW: Sind Styles brauchbar?

  Alt 20. Sep 2023, 18:42
Ich habe deswegen vor einigen Monaten ein kleines Programm geschrieben, welches "CSS"-artigen Source Code nimmt und in Firemonkey's TStyleBook umwandelt.
Das hört sich sehr cool an

Nur noch mal verständnishalber:
- Du schreibt Dein CCS, mit solchen primitiven Shapes
- Der läuft durch dein Tool, was ein TStyleBook daraus erzeugt
- Ich vermute, dass es dann ganz ohne die PNG Tapete auskommt, wenn es nur aus Primitiven Shapes generiert wird

oder

Hast Du da doch, wie oben, ein Basis-Template genommen, wie von beschrieben, von den PremiumStyles


Leider fehlen ein paar Dinge, wie Variablen für Farben, Textgrößen usw.
Wohl wahr, bei den PremiumStyles gibt es aber hier und das ein paar FarbVariablen.
Leider aber nur vereinzelt und es gibt kein stringentes Styles-Schema oder Konzept für alle Controls und Plattformen gleichermaßen.

Der Vorteil der PNG-Tapete ist natürlich, dass man fotorealistische Controls bauen kann, wenn man das will.
Ich vermute, nur die Wenigsten haben wirklich die notwendige Muße (oder Grafikabteilung) dazu ...
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
519 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Sind Styles brauchbar?

  Alt 16. Feb 2024, 11:00
Ich habe deswegen vor einigen Monaten ein kleines Programm geschrieben, welches "CSS"-artigen Source Code nimmt und in Firemonkey's TStyleBook umwandelt.
Das hört sich sehr cool an

Nur noch mal verständnishalber:
- Du schreibt Dein CCS, mit solchen primitiven Shapes
- Der läuft durch dein Tool, was ein TStyleBook daraus erzeugt
- Ich vermute, dass es dann ganz ohne die PNG Tapete auskommt, wenn es nur aus Primitiven Shapes generiert wird

oder

Hast Du da doch, wie oben, ein Basis-Template genommen, wie von beschrieben, von den PremiumStyles


Leider fehlen ein paar Dinge, wie Variablen für Farben, Textgrößen usw.
Wohl wahr, bei den PremiumStyles gibt es aber hier und das ein paar FarbVariablen.
Leider aber nur vereinzelt und es gibt kein stringentes Styles-Schema oder Konzept für alle Controls und Plattformen gleichermaßen.

Der Vorteil der PNG-Tapete ist natürlich, dass man fotorealistische Controls bauen kann, wenn man das will.
Ich vermute, nur die Wenigsten haben wirklich die notwendige Muße (oder Grafikabteilung) dazu ...
Sorry für die sehr späte antwort, hab deinen post leider erst gerade gesehen.

Du hast recht, das System arbeitet zunächst nur mit diesen Primitiven Shapes, bzw kann da einfach jedes FMX Control verwendet werden. Also z.B.

Code:
TButton #custombuttonstyle { 
  ...
}
Ziel war es aber schon irgendwann ein Tileset oder ähnliches zu unterstützen damit wie du schon sagtest mehr möglichkeiten hat die Controls realistischer oder sonst irgendwie hübscher zu gestalten. Ich hab das ganze System bisher nur soweit programmiert wie ich es für mich selbst brauche, aber ich hoffe ich kriege das alles irgendwann noch hin und dann würde ich es hier und auf GitHub veröffentlichen.
Milos
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.287 Beiträge
 
Delphi 13 Florence
 
#7

AW: Sind Styles brauchbar?

  Alt 16. Feb 2024, 17:10
Sorry für die sehr späte antwort, hab deinen post leider erst gerade gesehen.
Besser spät als gar nicht

Hört sich jedenfalls interessant an, ich bin der Meinung, dass man mit den Shapes ( plus TPath unf PathDate ) eigentlich alles hat,
was man für medium-komplexe Shapes braucht.
Jedenfalls wäre das eine elegante Lösung für die fehlenden Farboptionen bei den PNG-Styles.
  Mit Zitat antworten Zitat
Benutzerbild von milos
milos

Registriert seit: 14. Jul 2008
Ort: Bern (CH)
519 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Sind Styles brauchbar?

  Alt 16. Feb 2024, 20:50
Sorry für die sehr späte antwort, hab deinen post leider erst gerade gesehen.
Besser spät als gar nicht

Hört sich jedenfalls interessant an, ich bin der Meinung, dass man mit den Shapes ( plus TPath unf PathDate ) eigentlich alles hat,
was man für medium-komplexe Shapes braucht.
Jedenfalls wäre das eine elegante Lösung für die fehlenden Farboptionen bei den PNG-Styles.
TPath mit Data also Vektor-Grafiken funktionieren auch.

Ich kam bisher mit all den Shapes gut zurecht, deswegen sind PNG's noch nicht implementiert.
Milos
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz