2012-12-08 30 views
0

例如,假設我有XML聲明的顏色狀態列表,稱爲example1.xml是否可以創建狀態列表選擇器的xml子類?

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
     android:color="@color/red" 
     android:state_pressed="true" /> 

    <item 
     android:color="@color/blue" 
     android:state_checked="true" /> 

    <item 
     android:color="@color/green" 
     android:state_disabled="true" /> 

    <item 
     android:color="@color/orange" /> 
</selector> 

然後,我要創建example2.xml,我希望它是完全一樣的example1.xml除了我想要的按鈕顏色是紫色的,而不是紅色:

<item 
     android:color="@color/purple" 
     android:state_pressed="true" /> 

所以example2.xml最終會演戲裏關鍵字:

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item 
      android:color="@color/purple" <-- note this value is different 
      android:state_pressed="true" /> 

     <item 
      android:color="@color/blue" 
      android:state_checked="true" /> 

     <item 
      android:color="@color/green" 
      android:state_disabled="true" /> 

     <item 
      android:color="@color/orange" /> 
    </selector> 

但沒有所有重複的代碼。另外,如果我想改變一種顏色,我可以在一個地方改變它。

這可能嗎?

回答

0

我不認爲你可以在Android上這樣做,你必須爲不同的選擇器創建多個XML資源。

相關問題