Einstellen der ListBox-Elemente Höhe passen Sie den text in Firemonkey (android)?
Ich bin mit diesem code und fügen Sie ein Element in eine listbox, aber ich kann nicht herausfinden, wie man dynamisch ändern Sie die Höhe des Elements passen Sie den text:
procedure TmForm.AddItemBtnClick(Sender: TObject);
var
Item: TListBoxItem;
begin
Item := TListBoxItem.Create(nil);
Item.Parent := SomeListBox;
Item.StyleLookup := 'listboxitemstyle';
Item.Text :=
'Pe cararea lunga scurta se ducea un om venind, si-n tacerea lui ' +
'profunda se auzea borborosind. Cantr-o noapte intunecoasa soarel' +
'e lucea pe cer, iara eu cu barca in casa ma plimbam ca un boier.';
Item.WordWrap := true;
Item.StyledSettings := [TStyledSetting.ssFamily] + [TStyledSetting.ssStyle] + [TStyledSetting.ssFontColor];
Item.Font.Size := 14;
end;
Habe ich versucht mit dem code von dieses Beispiel (modifiziert für TListBoxItem), aber es hat nicht funktioniert.
Edit: Die Höhe des ListBoxItem kann eingestellt werden, indem einfach Item.Height := 100;
am Ende der code oben, aber ich muss wissen, die Höhe des Textes, um zu entscheiden, welche Größe das ListBoxItem werden muss, um zu klären, meine Frage, wie bekomme ich die Höhe des Textes in der Liste box item?
InformationsquelleAutor ioan ghip | 2014-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Pop-resizing-code in der OnApplyStyleLookup Veranstaltung.
Geschrieben aus der Spitze von meinem Kopf, und die Art und Weise der Vergangenheit vor dem Schlafengehen:
Werden Sie, natürlich, benötigen, um das Ereignis für jedes Element, das Sie erstellen.
Wir kann nicht manuell eingestellt Höhe für ListItem-auf diese Weise, weil für mobile Plattformen firemonkey-Stil-fixes Höhe des Elements, so können Sie nicht direkt ändern Höhe.
das ist nur für bestimmte Steuerelemente wie für die edits und buttons. Es gibt auch andere Steuerungen, wo die Höhe manuell eingestellt werden können.
Ist der Artikel tatsächlich angezeigt wird? Der Stil ist nur einmal eine Kontrolle auf dem Bildschirm angezeigt wird.
Meine tests zeigen, müssen Sie die event-handler als sehr erste, was Sie tun nach dem erstellen der Element, die Es wird dann funktionieren.
InformationsquelleAutor Mike Sutton
Wie erwähnt von Mike Sutton, es kann getan werden
OnApplyStyleLookup
Veranstaltung.Ich mache es mit einem
TTextLayout
:Beachten Sie, dass
MaxSize
ist limitating. Zum BeispielaPoint.Y
begrenzen die LetzteTextHeight
. Sollten Sie es groß, weil, was auch immerTextHeight
werden sollte, wennmyLayout.TextHeight
ist größer alsmyLayout.MaxSize.Y
dannmyLayout.TextHeight
aufmyLayout.MaxSize.Y
.Hier ist eine Liste von
TTextLayout
Eigenschaften.InformationsquelleAutor Frédéric Hebrard
Hier ist der Mike Sutton code, der verbessert und getestet von mir. Funktioniert für den Fall eines Elements mit einer Detail-text - (.ItemData.Detail). Die Variante mit TextLayout hat nicht funktioniert für mich.
Dieser code ist getestet für Windows-und Android-Anwendung.
InformationsquelleAutor Alexander Stoyan
Gibt es eine wichtige Sache, die zum ändern der Größe der Steuerung: "Für die mobile Plattform firemonkey-fix-Höhe und mit einige Steuerelemente". Denn:
Jedoch, Sie können diese Constraints werden. Blick auf die meine Lösung, diese (Automatisch übersetzt mit Google): Kann nicht erhöhen die Höhe TProgressBar
Diesem Artikel über TProgressBar, Aber Sie können diesen Ansatz auch für einen TListBoxItem.
InformationsquelleAutor Yaroslav Brovin