2011-08-11 88 views
0

我做了一個研究,但我沒有找到任何有助於當你有一個Flex項目,是它更好地使用不同的皮膚進行不同的組件或只使用一個有大的CSS我回答這個問題flex皮膚或款式?

所有的風格在一起?

回答

2

從問題中不太清楚您是在談論標準組件及其自定義皮膚/樣式,還是您正在討論自定義組件和設計它們以進行自定義的方式?

無論如何,我會盡力回答。 Spark體系結構不會拒絕樣式並使用CSS來進行組件的自定義。所有標準組件都支持樣式,並具有支持它們的開箱即用外觀。因此,如果您使用標準外觀的標準組件並且符合您的要求,最好使用可用樣式進行其他自定義。

如果標準組件的標準外觀不適合你的需求,你必須決定選擇哪種策略:

  1. 創建支持使用CSS其他自定義皮膚。如果您正在創建一些供外部使用的皮膚(對於其他開發人員或團隊),則可以選擇此選項。它使他們有可能無需修改就可以使用您的皮膚並進行額外的自定義。如果您正在爲銷售或客戶創建自定義組件,則還應該選擇此策略。
  2. 創建沒有額外定製可能性的皮膚(所有的值,如顏色,圖標,填充,描邊,字體都是硬編碼的)。這是創建皮膚最簡單的方法。它可以讓你輕鬆地進行皮膚的修改。如果您爲特定外觀的特定項目創建皮膚,則應該選擇此選項。主要優點是您可以非常簡單快速地創建和修改外觀,並且可以更靈活地使用Flash Catalyst等外部工具。
+0

我在說每個人都有自己的設計,例如,如果我有一個自定義按鈕,並且我想爲按鈕的每個狀態使用不同的顏色,那麼它會使用自定義組件更好地使用皮膚來做到這一點,或只是一些CSS會做? – Mansuro

+1

如果state是外部的(例如「okState」,「cancelState」,「applyState」),它應該改變按鈕的外觀,實現它的最好方法是使用支持樣式的按鈕外觀並用樣式改變外觀。規則非常簡單。皮膚是視圖,組件是模型和控制器。如果某些可變功能僅與組件的視圖(而不是其邏輯)相關,則樣式是實現它的最佳方式。如果它與邏輯有關(例如模型) - 最好更換皮膚本身。 – Constantiner