2013-09-24 28 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>