【发布时间】:2013-08-22 05:54:36
【问题描述】:
我有一个不同颜色的列表视图,具体取决于它是偶数行还是奇数行:
我的自定义适配器:
if ( position % 2 == 0)
convertView.setBackgroundResource(R.layout.listview_selector_even);
else
convertView.setBackgroundResource(R.layout.listview_selector_odd);
list_selector_even:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@layout/even_row" android:state_enabled="true"/>
<item android:drawable="@layout/even_row" android:state_pressed="true"/>
<item android:drawable="@layout/even_row" android:state_focused="true"/>
</selector>
list_selector_odd:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@layout/odd_row" android:state_enabled="true"/>
<item android:drawable="@layout/odd_row" android:state_pressed="true"/>
<item android:drawable="@layout/odd_row" android:state_focused="true"/>
</selector>
偶数行:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF"/>
<padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" />
</shape>
奇行:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F0F0F0"/>
<padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" />
</shape>
我有点迷茫,因为我无法让偶数行和奇数行颜色与渐变效果一起使用。对于预压效果渐变,我有下一个代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="#3E5260"
android:endColor="#3E5260"
android:angle="270" />
</shape>
</item>
</selector>
感谢您的帮助!
【问题讨论】:
-
您的选择器没有默认值(未启用、未按下、未聚焦)
-
另外,如果该项是启用的,它会一直选择启用(因为它是第一个tiem)
-
那么我应该添加什么?我是 XML 版本的新手,因为直到现在这不是我的工作
标签: android listview colors background gradient