Flex: скрытие (или удаление) текста метки без изменения размера кнопки - PullRequest
0 голосов
/ 21 декабря 2010

У меня есть кнопка с переменной длиной текста надписи.У меня есть пользовательская настройка, которая может включать или выключать текст надписи на этой кнопке.

Как это реализовать?

ПРИМЕЧАНИЕ: фон кнопки имеет градиентный цвет.

Я пытался использовать BlendMode.LAYER, не повезло;

Я пытался использовать Button.resizeHandler

    private function resizeHandler(event:ResizeEvent):void
    {
        if (event.oldWidth > this.width)
            this.width = event.oldWidth;
        if (event.oldHeight > this.height)
            this.height = event.oldHeight;
    }

, но это работало, только если исходное значение UserSetting равно true.* Как насчет встроенного шрифта?Я не знаю, как применить его к кнопке

Ответы [ 3 ]

1 голос
/ 21 декабря 2010

Вы можете использовать свойства minWidth и maxWidth.minWidth, чтобы указать минимальную ширину, которую должна иметь кнопка.и maxWidth для указания максимальной ширины кнопки.

0 голосов
/ 21 декабря 2010

Вы можете расширить mx.controls.Button, чтобы добавить функцию отображения / скрытия метки. Текстовое поле является защищенным свойством, поэтому вы можете просто включить / выключить видимость в своей функции. Оставьте Flex, чтобы все правильно измерить.

Если вы хотите увеличить / уменьшить кнопку, когда текст включен или выключен, вы также можете установить ширину кнопки. Вам нужно будет рассчитать ширину на основе ширины текстового поля.

0 голосов
/ 21 декабря 2010

Что произойдет, если вы просто установите ширину кнопки?Таким образом, она должна быть постоянной ширины независимо от того, что вы указали в качестве метки.

Скорее всего, ширина рассчитывается в методе updateDisplayList.Таким образом, код в вашем обработчике изменения размера может быть сброшен при следующем событии рендеринга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...