Ich möchte meine mobile Funken TextArea Komponente, um alle Inhalte zu wickeln. Ich habe herausgefunden, mx_internal Weg dies zu tun, aber ich kann nicht anrufen mx_internal :: getTextField(). NumLines Methode - es gibt keine solche ... Wer hat das schon einmal getan?AutoSizing Flex Mobile Funke TextArea Komponente
Antwort
Hier ist eine Lösung für mobile:
for(var i:int=0; i < StyleableTextField(txt_genel.textDisplay).numLines; i++) {
ta_height += StyleableTextField(txt_genel.textDisplay).getLineMetrics(i).height;
}
txt_genel.height = ta_height;
Hier eine Lösung mit wenig benutzerdefinierten TextArea-Klasse, gibt es Kommentare, ein wenig mehr zu erklären.
package
{
import mx.events.FlexEvent;
import spark.components.TextArea;
import spark.components.supportClasses.StyleableStageText;
import spark.events.TextOperationEvent;
public class CustomTextArea extends TextArea
{
private var _lineNumber:int = 1;
private var _padding:int;
private var _minHeight:int;
public function CustomTextArea()
{
super();
addEventListener(FlexEvent.CREATION_COMPLETE, function setBehaviour(event:FlexEvent):void
{
//minHeight to prevent textarea to be too small
_minHeight = height;
//padding between textarea and text component inside to calculate line number
_padding = ((textDisplay as StyleableStageText).x - x) + (width - (textDisplay as StyleableStageText).width);
//listener for text changing
addEventListener(TextOperationEvent.CHANGE, setHeight);
});
}
private function setHeight(event:TextOperationEvent):void
{
//line number is textwidth divided by component width
_lineNumber = (((textDisplay as StyleableStageText).measureText(text).width + _lineNumber * _padding)/width) + 1;
//text height is line number * text height
var newHeight:int = _lineNumber * (textDisplay as StyleableStageText).measureText(text).height;
//if new height > min height, set height
if (newHeight > _minHeight)
height = newHeight;
}
}
}
Hoffe, das wird helfen.
EDIT: Mit einer großen Anzahl von Zeilen steigt die Höhe des TextArea zu sehr. Sollte es schaffen.
es wirft eine Ausnahme bei Zeile _padding = ((textDisplay als StyleableStageText) .x - x) + (width - (textDisplay als StyleableStageText) .width); Die Ausnahme ist: "Auf eine Eigenschaft oder Methode eines Nullobjektverweises kann nicht zugegriffen werden." –
Hier ist, wie ich es in mxml verwenden:
Und ein Action-Skript, wo ich einen Text zuweisen: StyleableTextField (txt_genel.textDisplay). htmlText = ozet ['genelbilgiler'] als String; –
- 1. Flex Funke Web Browser Fehler
- 2. Flex/TextArea: Tabs einfügen?
- 3. Flex: TextArea angehängt Bild
- 4. Gluon mobile TextArea Softkeyboard Ausgabe
- 5. Flex mobile mit Petersilie
- 6. Clone Flex-Komponente
- 7. Adobe Flex-Komponente Ereignisse
- 8. Wie ändert man automatisch die Breite einer Flex-Funke-Drop-Down-Komponente?
- 9. Ändern einzelner TextArea/TextEditor Zeilen in Flex?
- 10. Dynamisches Formatieren von Flex 3 textArea-Eingabe
- 11. , wie man Textzeilenumbruch in flex TextArea-
- 12. Google Maps in Flex-Komponente
- 13. Flex Project als Komponente importieren?
- 14. Bootstrap Autosizing Hintergrundbilder
- 15. Flex TextArea Auto-Resize-Verhalten - ist das möglich?
- 16. ReactJS Komponente rendern nicht Textarea mit Statusvariable
- 17. Verweis auf ein Steuerelement in einer Komponente in Flex
- 18. Verschieben/Neuordnen von Spalten in einem Funke DataGrid (Adobe Flex)
- 19. Ändern Sie die Farbe eines Flex 4 Funke Button
- 20. Flex, RobotLegs: müssen Sie alle Kindkomponenten einer visuellen Komponente vermitteln?
- 21. Problemeinstellung Autosizing in Interface Builder
- 22. Verwendung eines PDF-Viewers in Flex mobile
- 23. Flex mobile: Zoom und Scrollen im Balkendiagramm
- 24. Flex Mobile: Verschiedene Dateinamen für Android/iOS
- 25. Flex Mobile: Testauflösungen größer als Bildschirmgröße
- 26. PayPal-Integration - Fehler # 2096 in Flex Mobile
- 27. FLEX: Wiederhole einen Hintergrund auf der Komponente?
- 28. Flex + SOAP Webservice verzögerte Komponente Update
- 29. Flex- seltsame Hervorhebung für benutzerdefinierte Suche Komponente
- 30. Adresse ein Flex Checkbox in einer Komponente
Wenn Sie einen Weg gefunden, es zu tun; aber es funktioniert nicht Ich denke, Sie müssen etwas Code teilen, damit wir diagnostizieren können, warum es nicht funktioniert. – JeffryHouser
Ich habe versucht, heightInLine = {NaN} zuzuweisen - das funktioniert in früheren Versionen, aber nicht in 4.6. Und eine andere Methode, die ich ausprobiert habe, war das Erstellen einer neuen Skin ohne Scrolls, aber die IDE gab mir einen Fehler, dass Scroller in der Definition nicht gefunden werden konnten. Also frage ich nach irgendeinem anderen Vorschlag? –
Das liegt wahrscheinlich daran, dass 4.6 StageText anstelle von Flash TextField verwendet. In 4.6, wenn Sie zu den alten Skins zurückkehren, wette ich, dass es funktioniert. Ich habe keine Zeit, die spezifischen Hautnamen nachzuschlagen, aber ich glaube, ich habe kürzlich auf dem Flextras Blog darüber geschrieben. – JeffryHouser