2010-06-28 18 views
0

我正在做的事:允許用戶能夠通過從下拉菜單中選擇一種自定義組件的顏色調色板,圖標。使用戶能夠在運行時選擇風格的最佳方式 - Flex

我有下拉菜單部分,但我想了解如何最好地處理我的代碼中的各種樣式。理想情況下,我希望能夠在運行時加載樣式,但是我沒有看到這方面的主要優勢,所以我現在考慮以各種樣式進行編譯。不過,我似乎找不到一個體面的方式來構建代碼。對它進行黑客攻擊看起來非常簡單/快速,但是有一個更好的方法,比擁有大量可以通過與每個圖標相關的索引進行索引的大量數值 - 惡意!

很想聽聽你的想法或看到任何明顯的方法來處理這個問題。

謝謝!

弗雷德

回答

0

我定義了一組樣式名稱的CSS,那麼你可以使用樣式名稱的集合,爲您的樣式選擇控制提供值,就像這樣:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 
    <mx:Style> 
     .style1{color:red;} 
     .style2{color:green;} 
     .style3{color:blue;} 
    </mx:Style> 
    <mx:Script> 
     <![CDATA[ 
      import mx.collections.ArrayCollection; 

      public static const styleNames:ArrayCollection = 
        new ArrayCollection(['style1', 'style2', 'style3']); 
     ]]> 
    </mx:Script> 
    <mx:ComboBox 
     id="styleCombo" 
     styleName="{styleCombo.value}" 
     dataProvider="{styleNames}" 
    /> 
</mx:Application> 
0

的達到此目的的最佳方法是編譯多個CSS + Swf(資產)文件,然後根據用戶選擇的內容在運行時加載它們。

這是迄今爲止最好的做法,我將它用於大型應用程序和小型應用程序,並且它高於我所能想到的所有其他解決方案。

祝你好運

相關問題