2011-08-11 84 views
0

我做了一个研究,但我没有找到任何有助于当你有一个Flex项目,是它更好地使用不同的皮肤进行不同的组件或只使用一个有大的CSS我回答这个问题flex皮肤或款式?

所有的风格在一起?

回答

2

从问题中不太清楚您是在谈论标准组件及其自定义皮肤/样式,还是您正在讨论自定义组件和设计它们以进行自定义的方式?

无论如何,我会尽力回答。 Spark体系结构不会拒绝样式并使用CSS来进行组件的自定义。所有标准组件都支持样式,并具有支持它们的开箱即用外观。因此,如果您使用标准外观的标准组件并且符合您的要求,最好使用可用样式进行其他自定义。

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

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

我在说每个人都有自己的设计,例如,如果我有一个自定义按钮,并且我想为按钮的每个状态使用不同的颜色,那么它会使用自定义组件更好地使用皮肤来做到这一点,或只是一些CSS会做? – Mansuro

+1

如果state是外部的(例如“okState”,“cancelState”,“applyState”),它应该改变按钮的外观,实现它的最好方法是使用支持样式的按钮外观并用样式改变外观。规则非常简单。皮肤是视图,组件是模型和控制器。如果某些可变功能仅与组件的视图(而不是其逻辑)相关,则样式是实现它的最佳方式。如果它与逻辑有关(例如模型) - 最好更换皮肤本身。 – Constantiner