2009-03-30 5 views
0

Ich erstelle ein Label in einem DataRider itemRenderer (erweitert von UIComponent) und jetzt setze ich die Breite des Labels auf einen statischen Wert. Ich möchte das Etikett mit 100% Breite erstellen. Ich möchte nicht unScaledWidth verwenden, da ich Link für das Label verwende, so dass der Link in der gesamten Zelle sichtbar ist.Set Etikettenbreite in einem itemRenderer - FLEX

Vielen Dank für die Hilfe im Voraus.

Antwort

0

Fehle ich etwas hier oder du solltest einfach percentWidth benutzen?

0

Die Verwendung von ProzentBreite funktioniert nicht. Wenn Sie nur einen Label im ItemRenderer haben, stellen Sie sicher, dass das Label (wenn ein mx Elementrenderer) autolayout="true" (das ist die Standardeinstellung) und top="0" left="0" right="0" bottom="0" der Label hinzufügen. Dadurch wird Ihr Label die gesamte Zelle einnehmen.

Wenn Sie einen Spark-Elementrenderer verwenden, ist das Standardlayout von none ein absolutes Layout, und das Hinzufügen von top="0" left="0" right="0" bottom="0" zu Label sollte ausreichen.

In einer anderen Anmerkung sind updateDisplayList() und measure() zwei der am häufigsten verwendeten Overrides in Flex. Versuchen Sie immer, Ihr Problem mit einer MXML-Skin-Klasse zu beheben, bevor Sie versuchen, den Pfad zum Überschreiben von updateDisplayList() und measure() zu umgehen. Die meisten Zeichenmethoden der MX-Klasse wurden mit den Methoden private, die den Großteil der Zeichnung ausführen, falsch implementiert, was eine Erweiterung dieser Klassen erschwert.

Verwandte Themen