perf(P4): Feste Breiten für Anzeigewerte - kein Neulayout mehr (1.9.4)
Die Koordinaten haben den Verursacher benannt: Der invalidierte Bereich war "x 0..1279, y 44..719" - der komplette Content-Container, bei jeder Zustandsmeldung. Grund: Die Wert-Labels hatten LV_SIZE_CONTENT. Ändert sich ihre Breite mit dem Inhalt (92,4 °C -> 100,1 °C), löst LVGL ein Flex-Relayout der ganzen Seite aus und invalidiert sie komplett. Change-checked Text allein reicht also nicht - der Text darf beim Ändern auch die Breite nicht ändern. tempField() und infoCell() setzen die Wert-Labels jetzt auf LV_PCT(100) mit zentriertem Text. Optisch identisch, da die Werte ohnehin mittig standen. Beide Panel-Varianten mit arduino-cli gegengebaut. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
671a6696ce
commit
b13e5fdaf1
@@ -1,3 +1,15 @@
|
||||
Version 1.9.4:
|
||||
- Die Messung mit Koordinaten hat den Verursacher benannt: Der ungültige Bereich war
|
||||
„x 0..1279, y 44..719" - also der gesamte Inhalt unterhalb der Kopfleiste, bei jeder
|
||||
Zustandsmeldung.
|
||||
- Grund: Die Anzeigewerte hatten keine feste Breite. Wächst oder schrumpft eine Beschriftung
|
||||
mit ihrem Inhalt - etwa von „92,4 °C" auf „100,1 °C" -, rechnet LVGL das Layout der
|
||||
gesamten Seite neu und macht sie dabei komplett ungültig. Es genügt also nicht, den Text
|
||||
nur bei echter Änderung zu setzen; er darf beim Ändern auch die Breite nicht verändern.
|
||||
- Temperaturwerte, Sollwerte und die Werte der unteren Zeile haben jetzt eine feste Breite
|
||||
mit zentriertem Text. Sichtbar ändert sich dadurch nichts - die Werte standen ohnehin
|
||||
mittig.
|
||||
|
||||
Version 1.9.3:
|
||||
- Fehlerbehebung: Bei geöffnetem Menü war der Seiteninhalt dahinter verschwunden. Der
|
||||
Vorhang des Menüs war in 1.8.7 deckend gemacht worden, um Zeichenlast zu sparen - dabei
|
||||
|
||||
Reference in New Issue
Block a user