css - 如何在 Flex CSS 文件中包含常量

标签 css apache-flex

如何在 Flex 应用程序中拥有一个可以在 Flex CSS 文件中的多个位置应用的常量?例如,我可能有一个在多个 UI 组件中相同的背景颜色,然后我希望仅在一个位置设置此颜色并在所有样式子句中重用。类似...

public static const myColor = "#00FF00"

...

component1 
{
  backgroundColor: myColor
}

component2 {
  backgroundColor: myColor
}

最佳答案

我用的就是这个。查看StylesheetMixin class on Snipplr .

这是使用时的样子:

调色板

package
{
    // only make bindable if you want to use in skins
    // for example like color="{ColorPalette.crazyColor}"
    [Bindable]
    /**
     *  This class holds all of your global colors to apply to skins.
     */
    public class ColorPalette
    {
        // "var", not "const", so you can optionally change them at runtime
        public static var crazyColor:uint = 0xff0000;
        public static const applicationAccent:uint = 0x1a01dd;
    }   
}

样式表

@namespace mx "library://ns.adobe.com/flex/mx";
@namespace s "library://ns.adobe.com/flex/spark";
@namespace tlf "library://ns.adobe.com/flashx/textLayout";

mx|Panel
{
    color: crazyColor;
    backgroundColor: applicationAccent;
}
mx|Button
{
    color: crazyColor;
    backgroundColor: applicationAccent;
}

Flex 3 等效项:

Panel
{
    color: crazyColor;
    backgroundColor: applicationAccent;
}
Button
{
    color: crazyColor;
    backgroundColor: applicationAccent;
}   

示例应用程序

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:local="*">

    <mx:Script>
        <![CDATA[
            import ColorPalette;
        ]]>
    </mx:Script>

    <!-- simple css -->
    <mx:Style source="main.css"/>

    <!-- stylesheet palette -->
    <local:StylesheetMixin palettes="{[ColorPalette]}"/>

    <!-- sample container -->
    <mx:Panel id="panel" width="100%" height="100%" title="Stylesheet Palettes!">
        <mx:Button label="Button"/>
    </mx:Panel>

</mx:Application>  

我有以下调色板:

  • 颜色
  • Assets
  • 效果
  • 布局

适用于 Flex 3 和 4。

关于css - 如何在 Flex CSS 文件中包含常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2292127/

相关文章:

javascript - Canvas 不跟进图像的大小调整?

javascript - 使用 CSS/jQuery 的 Angular 动画

apache-flex - 在 Eclipse 3.5 (galileo) Mac Cocoa 64 位上安装 Flex Builder 插件

apache-flex - 如何设置弹性组合框光标位置

apache-flex - 在flex中实现SHA1算法

html - 将内联样式转换为包含属性的 <font> 标签

javascript - 服务器上的 JS 和 CSS 文件链接问题 - Slick Slider

css - 在同一行上垂直居中两个 div 之一?

apache-flex - 弹性 : Is there any way to find find out when a ComboBox is open?

android - 将额外内容从 ANE 传递到 Flex 应用程序