AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung FMX - ListView - ItemAppearance - Runtime
Thema durchsuchen
Ansicht
Themen-Optionen

FMX - ListView - ItemAppearance - Runtime

Ein Thema von sintronic86 · begonnen am 6. Feb 2019 · letzter Beitrag vom 17. Feb 2021
Antwort Antwort
sintronic86

Registriert seit: 7. Dez 2009
Ort: Barsinghausen
90 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: FMX - ListView - ItemAppearance - Runtime

  Alt 7. Feb 2019, 15:25
Ich mache das über den Toast, weil ich Android 8.0.0 verwende, auf der (zumindest laut Google) nicht debugt werden kann.

Das Anpassen der Texte funktioniert bei mir auch super, aber nicht das Ändern von Width/Height/PlaceOffset.

Aber wie gesagt, funktioniert es mit dem Neuerstellen beim Wechsel der Orientation sehr gut.
Björn
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.561 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX - ListView - ItemAppearance - Runtime

  Alt 7. Feb 2019, 16:29
Schon mal probiert, vor der Änderung der ListviewItems ein Beginupdate und danach Endupdate (also bei der Listview selber, lvInventar) zu setzen?

Mal abgesehen davon, ob das hier hilft, wäre es aus Performance-Gründen jedenfalls immer bei solchen Zugriffen geboten.
  Mit Zitat antworten Zitat
michaelg

Registriert seit: 20. Apr 2008
87 Beiträge
 
#3

AW: FMX - ListView - ItemAppearance - Runtime

  Alt 17. Feb 2021, 13:59
Moin,

stand gerade einem sehr ähnlichen Problem. Ich hatte ein Listview mit DynamicAppearance designed und wollte, dass die Spaltenbreiten sich vergrößern, wenn man im Querformat ist.

Bei ItemDetailAppearance braucht man nur:
Code:
  lv.ItemAppearanceObjects.ItemObjects.Text.PlaceOffset.X:=0;
  lv.ItemAppearanceObjects.ItemObjects.Text.Width:=lv.Width-2;

  lv.ItemAppearanceObjects.ItemObjects.Detail.PlaceOffset.X:=(lv.Width / 2);
  lv.ItemAppearanceObjects.ItemObjects.Detail.Width:=(lv.Width /2)-2;
Bei DynamicAppearance muss man das Objekt raussuchen und es verändern:
Code:
procedure TfMain.lvPosResized(Sender: TObject);
var
  ta:tTextObjectAppearance;

  function FindIt(aName:String):tTextObjectAppearance;
    var
      ca:TCommonObjectAppearance;
    begin
      result:=nil;
      with lvPos do begin
        for ca in ItemAppearanceObjects.ItemObjects.Objects do begin
          if comparetext(ca.Name,aName)=0 then begin
            result:=ca as tTextObjectAppearance;
            exit;
          end;
        end;
      end;
    end;

begin
  with lvPos do begin
    ta:=FindIt('Text');
    if ta<>nil then begin
      ta.Width:=Width-80;
    end;

    ta:=FindIt('Detail');
    if ta<>nil then begin
      ta.Width:=Width-80;
    end;
  end;
Ich sehe gerade, der Eintrag ist uralt, aber was solls. Hab ich auch mal ne Lösung beigesteuert
  Mit Zitat antworten Zitat
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: FMX - ListView - ItemAppearance - Runtime

  Alt 17. Feb 2021, 14:10
Ich sehe gerade, der Eintrag ist uralt, aber was solls. Hab ich auch mal ne Lösung beigesteuert
Von Februar 2019? Das ist doch noch nicht alt! Da haben einige schon Knochen ausgegraben...
--
LG aus dem hohen Norden, Edmund
  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 16:53 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