Многострочные надписи на кнопках flex (FB 4.5)? - PullRequest
4 голосов
/ 21 мая 2011

Я пытаюсь сделать кнопку во Flash Builder 4.5 с несколькими строками (конкретный разрыв строки, оба выравниваются по левому краю), а вторая строка выделена курсивом.Я могу сделать это, сделав кнопку и наложив на нее метку, но это разрушит функциональность кнопки там, где находится эта метка.

Есть ли легкая функциональность для этого или он начинает переходить в пользовательские скины?(Я смотрел на это, но я довольно новичок в FB, и это выглядит как крутая кривая обучения)

Ответы [ 4 ]

2 голосов
/ 21 мая 2011

Да, вы определенно хотите снять шкуру. Это довольно просто, поскольку он генерирует весь код для вас. Вам просто нужно найти ярлык для кнопки и изменить его по своему желанию.

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

1 голос
/ 21 мая 2011

Незначительное уточнение / дополнение: Хотя иметь несколько строк в метке кнопки так же просто, как установить атрибут 'maxDisplayedLines' для 'labelDisplay' в скине на значение, большее, чем '1', s: Label НЕ поддерживает несколько стилей; то есть вы не можете иметь одну строку обычной, а вторую строку курсивом.

FTQuest

0 голосов
/ 29 июня 2011

Чтобы создать многострочную метку кнопки:

  1. Создание обложки для кнопки (самый простой способ: создание обложки в режиме конструктора)
  2. В скине, прокрутите туда, где вы видите Метка с id = " labelDisplay "
  3. Установите Фиксированную ширину для этого ярлыка в скине, и все готово!

После того, как вы заполнили свойство label для Button, оно автоматически станет многострочным

0 голосов
/ 22 мая 2011

Я не нашел ничего, что могло бы сделать то, что я хотел сделать (я нашел Flexlib и canvasButton, но мне это не помогло)

То, что я в итоге сделал, - это сделать мойсобственные «смоделированные» кнопки.Контейнер с 2 линиями надписей (одна обычная, другая курсивная, как я и хотел) с другим контейнером над ним.mouseOver и mouseOut и click были привязаны к верхнему контейнеру, чтобы он выглядел как одна большая кнопка.(Я также использовал альфа-прозрачность для имитации выделения.

Для любопытных (или других новичков с похожей проблемой) - это то, что я сделал

    <s:BorderContainer id="bottomContainer" x="129" y="99" width="200" height="44" backgroundColor="#EEEEEE"
                   borderVisible="false" cornerRadius="6">
    <s:Label id="encLabel1" x="48" y="8" color="#000000" fontFamily="Arial"
             text="Create a new encounter"/>
    <s:Label id="encLabel2" x="48" y="24" color="#000000" fontStyle="italic"
             text="Single encounter"/>
    <s:Image x="10" y="10" source="assets/001_01.png"/>
</s:BorderContainer>        
<s:BorderContainer id="coverContainer" x="129" y="99" width="200" height="44" backgroundColor="#000000"
                       borderVisible="false" cornerRadius="6" alpha=".1" mouseOver="alphaOver(event)" mouseOut="alphaOver(event)" click="trace('working')">
</s:BorderContainer>
...