Как изменить paddingLeft и paddingRight для spark.components.Button? - PullRequest
0 голосов
/ 27 марта 2012

Класс 'Button' в пакете mx.controls имеет стили 'paddingLeft' и 'paddingRight'.Но теперь я больше не хочу использовать эту старую тему Halo, я перенесу все в Spark.

Однако я не могу найти эти стили заполнения в spark.components.Button и в документации http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/Button.html не показывает, что у Spark Button есть эти стили.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 27 марта 2012

Вы должны сделать особый скин кнопки, наследующий стандартный и добавить ваше правило внутри него.

1 голос
/ 06 мая 2012

Это на самом деле довольно просто. Я довольно новичок, чтобы сгибать и (не делая ничего больше) после прочтения этого поста:

http://inflagrantedelicto.memoryspiral.com/2010/01/skinning-a-spark-button-in-flex-4/

Я создал кнопку зажигания с пользовательскими левыми и правыми отступами менее чем за минуту. Спасибо Джозефу Лабрекку за его замечательный блог!

Все, что вам нужно сделать в Flash Builder, - это щелкнуть правой кнопкой мыши папку, в которой вы хотите создать новый скин кнопки, и выбрать «Новый скин MXML». Это открывает окно, которое вы видите в описанном в ссылке выше. Имя пакета уже будет заполнено (вы можете изменить его, если не нажали правой кнопкой мыши на нужной папке выше). Введите имя (например, CustomButton в блоге) для класса скина. Для Host Component выберите Обзор, затем выберите Button-Spark Components. Флажок «создать копию» должен быть установлен по умолчанию. Затем нажмите Готово.

Теперь все, что вам нужно сделать, это открыть файл (он должен открываться по умолчанию после его создания), а затем изменить раздел «Метка» слоя 8. Для меня это была строка 219. Измените left="10" на любое место размещения, которое вы хотите (например, установите 0 для отсутствия заполнения). Аналогично для right="10". Вы можете изменить textAlign и ввести paddingLeft или paddingRight и т. Д. Внутри одной и той же метки. Сохраните файл, когда закончите.

Затем внутри ссылки на кнопку зажигания mxml в основном файле просто добавьте skinclass="CustomButton" в строку кода. Например, измените это:

<s:button label="myOldButton" ... />

на это:

<s:button label="myCustomButton" skinclass="CustomButton" ... /> 

Вот и все!

...