2013-09-24 26 views
0

我想爲我的ListView定義背景,它具有投影狀態和不同顏色的按下狀態。這是我的。XML投影和不同的狀態

<?xml version="1.0" encoding="utf-8"?> 

<!-- Drop Shadow Stack --> 
<item> 
    <shape> 
     <padding android:bottom="1dp"/> 
     <solid android:color="#00CCCCCC" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <padding android:bottom="1dp" /> 
     <solid android:color="#10CCCCCC" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <padding android:bottom="1dp" /> 
     <solid android:color="#20CCCCCC" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <padding android:bottom="1dp" /> 
     <solid android:color="#30CCCCCC" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <padding android:bottom="1dp" /> 
     <solid android:color="#50CCCCCC" /> 
    </shape> 
</item> 

<!-- Background --> 
<item android:state_pressed="true"> 
    <shape> 
     <solid android:color="@color/fublue" /> 
    </shape> 
</item> 
<item android:state_activated="true"> 
    <shape> 
     <solid android:color="@color/fublue" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <solid android:color="@color/white" /> 
    </shape> 
</item> 

然而,這是行不通的。我需要改變才能使其工作?

回答

1

我不完全知道你在做什麼的下拉陰影,但對於壓下狀態,你必須使你的列表視圖項佈局點擊。然後創建一個可供您的推送狀態使用的背景選擇器。

標準樣式文件

yourcolorstates.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:platformrq="http://schemas.android.com/apk/res-auto" > 
    <item 
     android:background="#yourneutralcolor" 
     android:state_pressed="false" /> 
    <item 
     android:background="#yourpressedcolor" 
     android:state_pressed="true" /> 
</selector> 
0

items換成selector狀態,需要設置狀態。

例如

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