【问题标题】:flex skins or style?弹性皮肤或风格?
【发布时间】:2011-10-24 19:26:36
【问题描述】:

我进行了研究,但没有找到任何可以帮助我回答这个问题的东西

当你有一个 flex 项目时,是为不同的组件使用不同的皮肤还是只使用一个包含所有样式的大型 css 更好?

【问题讨论】:

    标签: apache-flex customization flex4.5 skinning flex-spark


    【解决方案1】:

    问题不是很清楚,您是在谈论标准组件及其自定义外观/样式,还是在谈论自定义组件以及将它们设计为可定制的方法?

    无论如何,我会尽力回答。 Spark 架构不拒绝样式并使用 CSS 进行组件的自定义。所有标准组件都支持样式并具有支持它们的开箱即用皮肤。因此,如果您将标准组件与标准皮肤一起使用并且它符合您的要求,那么最好使用可用的样式进行额外的自定义。

    如果标准组件的标准外观不符合您的需求,您必须决定选择哪种策略:

    1. 创建支持使用 CSS 进行额外自定义的皮肤。如果您正在创建一些外部使用的皮肤(对于其他一些开发人员或团队),您可以选择此选项。它使他们可以在不修改和额外定制的情况下使用您的皮肤。如果您要为销售或为客户创建自定义组件,您也应该选择此策略。
    2. 无需额外的自定义可能性即可创建皮肤(颜色、图标、填充、笔触、字体等所有值都是硬编码的)。这是创建皮肤的最简单方法。它使您可以轻松地进行皮肤修改。如果您正在为具有特定外观的特定项目创建皮肤,则应该选择此选项。主要优点是您可以通过更灵活地使用 Flash Catalyst 等外部工具来非常简单快速地创建和修改皮肤。

    【讨论】:

    • 我说的是使用自定义组件,每个组件都有自己的设计,例如,如果我有一个自定义按钮,并且我希望按钮的每种状态都有不同的颜色, 使用皮肤来做这件事会更好,还是只用一些 css 会更好?
    • 如果状态是外部的(例如“okState”、“cancelState”、“applyState”)应该改变按钮的外观,最好的实现方法是使用支持样式的按钮皮肤并改变外观样式。规则很简单。皮肤是视图,组件是模型和控制器。如果某些可变功能仅与组件的视图(而不是其逻辑)相关 - 样式是实现它的最佳方式。如果和逻辑有关(比如模型)——最好自己换皮肤。
    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 2011-05-08
    • 2011-08-03
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多