【发布时间】:2011-05-20 20:46:35
【问题描述】:
我试图在 Flash Builder 4.5 中创建一个多行按钮(特定换行符,两者都左对齐),第二行斜体。我可以通过制作一个按钮并在其上放置一个标签来做到这一点,但它破坏了该标签所在的按钮功能。
是否有一个简单的功能可以做到这一点,或者它是否开始进入自定义皮肤? (我看过,但我对 FB 还很陌生,看起来学习曲线很陡)
【问题讨论】:
我试图在 Flash Builder 4.5 中创建一个多行按钮(特定换行符,两者都左对齐),第二行斜体。我可以通过制作一个按钮并在其上放置一个标签来做到这一点,但它破坏了该标签所在的按钮功能。
是否有一个简单的功能可以做到这一点,或者它是否开始进入自定义皮肤? (我看过,但我对 FB 还很陌生,看起来学习曲线很陡)
【问题讨论】:
是的,你肯定想要剥皮。这相当容易,因为它会为您生成所有代码。您只需要找到按钮的标签并根据您的意愿进行修改。
很抱歉,这是正确执行此操作的唯一方法。如果你想要做的只是将它组合在一起,我认为你不应该接触代码......
【讨论】:
小澄清/补充: 虽然在按钮标签中有多行就像将皮肤中“labelDisplay”的“maxDisplayedLines”属性设置为大于“1”的任何值一样简单,但 s:Label 不支持多种样式;即你不能有一个常规的行和第二行斜体。
FTQuest
【讨论】:
创建按钮的多行标签:
一旦你填充了 Button 的 label 属性,它会自动为你显示多行
【讨论】:
我没有找到可以做我想做的事(我确实找到了 Flexlib 和 canvasButton,但它似乎对我不起作用)
我最终做的是制作自己的“模拟”按钮。一个带有 2 行标签的容器(一个正常,一个斜体,就像我想要的那样),上面有另一个容器。 mouseOver 和 mouseOut 和 click 都绑定到顶部容器,使其看起来像一个大按钮。 (我还使用了一些 alpha 透明度来模拟突出显示。
对于好奇的人(或其他有类似问题的初学者)-这就是我所做的
<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>
【讨论】: