【问题标题】:Using mx components in spark skins在火花皮肤中使用 mx 组件
【发布时间】:2012-11-24 21:09:20
【问题描述】:

由于 fontSharpnessfontThickness 在 Flex 4 中不起作用,正如它所说的 here(尽管我想被证明是错误的),我已经用 @987654325 替换了我的应用程序中的每个 <s:Label/> @。

虽然它在面板和对话框中运行良好,但在皮肤中却不适用。 当我将皮肤部件添加到皮肤时,它们应该扩展一个预定义的类。 说promptDisplay in TextInputSkin 我不能用这个:

<mx:Label id="promptDisplay"/>

这里:

<s:Label id="promptDisplay"/>

应该是,因为promptDisplay 应该扩展IDisplayText

最好的解决方法是什么?

【问题讨论】:

    标签: apache-flex flex4 flex3 skinning


    【解决方案1】:

    好吧,我想最快的解决方法是通过子类化 mx Label 并实现 IDisplayText 来创建您自己的 Label 类。像这样的:

    import mx.controls.Label;
    
    public class MyLabel extends Label implements IDisplayText {
    
        public function get isTruncated():Boolean {
            return false;
        }
    
    }
    

    现在您可以在需要IDisplayText 的任何地方使用MyLabel,并将fontSharpnessfontThickness 应用于它,因为这两种样式是继承的。
    请注意,如果需要 TextBase,这将不起作用。

    【讨论】:

    • 没想到会这么简单!!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多