Standardowy przycisk Flex nie zezwala na etykietowanie tekstu na zawijanie wyrazów. Czytam w Internecie, że istnieją pewne nieudokumentowane sposoby radzenia sobie z tym, ale nie udało mi się je uruchomić. Gdyby ktoś mógł wysłać mi mały przykład, byłoby świetnie!Adobe Flex: Zawijanie słów w etykiecie przycisku
Odpowiedz
Zasadniczo musisz ustawić kilka chronionych właściwości w formancie TextField przycisku (multiLine i wordWrap), czego nie możesz zrobić bez rozszerzenia klasy Button. Więc jeśli utworzyć nową klasę, która rozciąga się przycisk i ustawia te właściwości i ma trochę pracy, by wszystko mierzyć poprawnie:
package
{
import flash.text.TextFieldAutoSize;
import mx.controls.Button;
public class WrappingButton extends Button
{
public function WrappingButton()
{
super();
}
override protected function createChildren():void
{
super.createChildren();
textField.multiline = true;
textField.wordWrap = true;
textField.autoSize = TextFieldAutoSize.CENTER;
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
textField.y = (this.height - textField.height) >> 1;
height = textField.height + getStyle("paddingTop") + getStyle("paddingBottom");
}
}
}
... można spaść, że kontrola w swojej MXML tak:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
<local:WrappingButton label="The quick brown fox jumped over the lazy dog." width="100" paddingTop="10" paddingBottom="10" />
</mx:Application>
Mam nadzieję, że pomoże! Po powrocie z pytaniami, jeśli je masz.
Świetny komponent, ale próbuję go użyć jako niestandardowego renderera elementów, a updateDisplayList() jest wywoływana w nieskończonej pętli. – Laramie
Jak mogę użyć tego samego komponentu w programie Flash Builder 4.6? Gdy dostaję błąd na 'textField'" Dostęp do niezdefiniowanej właściwości " – abi1964
Próba korzystania
Używam
<s:Button label="Top two states result" height="100%" width="100%" icon="@Embed(source='assets/bar.png')" chromeColor="#A3F4FD"/>
i robi etykietę wielu linii.
Awesome, działa jak urok! – Ska
- 1. Wydarzenia komponentu Adobe Flex
- 2. Pętla w Adobe Flex
- 3. Adobe Flex vs openlaszlo
- 4. Netbeans 7.0.1 Zawijanie słów
- 5. SyntaxHighlighter zawijanie słów?
- 6. Zawijanie słów w elementach JList
- 7. Zawijanie słów w płótnie HTML5
- 8. Jakość skalowania obrazu Adobe Flex
- 9. jQuery mobile: Włącz zawijanie słów w ListViews
- 10. Zawijanie słów w laboratorium raportowania tabeli PDF
- 11. Zawijanie słów w konsoli PyCharm Python?
- 12. Zawijanie długich słów w JTextPane (Java 7)
- 13. Kolejność obsługi zdarzeń Adobe Flex/Actionscript
- 14. Wprowadzić tekst w etykiecie dla przycisku radiowego?
- 15. Spraw, by Vim robił tylko miękkie zawijanie słów, a nie twarde zawijanie słów.
- 16. Zawijanie słów CSS z elementami pływającymi
- 17. Ustawianie koloru tła dla wiersza datagrid w Adobe Flex
- 18. Programowe wykrywanie między Adobe Air i Adobe Flex w języku ActionScript 3.0
- 19. jak uzyskać sterowanie tekstem Flex do zawijania słów
- 20. Czy istnieje sposób na zawijanie długich słów w div?
- 21. Zachowaj normalne zawijanie słów w całkowicie pozycjonowanym pojemniku
- 22. Zawijanie słów w wygenerowanym pliku PDF (przy użyciu jsPDF)?
- 23. Jak ponownie uruchomić autonomiczną aplikację Adobe Air/Flex
- 24. Adobe AIR vs Flex vs Flash Builder --- potrzebuję wyjaśnienia proszę
- 25. flex mesy nieruchomości przycisk wysokość przycisku?
- 26. Windows Mobile Cordova - Zawijanie słów Wybierz opcję menu
- 27. Projekt interfejsu użytkownika w Flex
- 28. Tryb zawijania słów QLabel
- 29. Jak ustawić wysokość danych w datagridach jest równa zawartości danych w Adobe Flex
- 30. Jak działa flex-flex flex CSS3?
Powinieneś iść dalej i przyjąć odpowiedź Christiana Nunciato. – Panzercrisis