在android中选择列表视图时更改背景颜色

时间:2014-02-28 15:08:14

标签: android listview colors

我正在使用 drawable文件夹然后==> new xml ==>形状并使用此代码更改我的列表视图样式。

 <corners android:radius="10dp"/>
 <stroke android:color="#b7df18" android:width="2dp"/>
 <solid android:color="#53aee3"/>

row.setBackgroundResource(R.drawable.round_corner);

并且它正常工作但是如果我选择一行,所选行的背景不会像普通列表视图那样改变。 !我该怎么办 ?我怎样才能将其改变为理想的颜色?

2 个答案:

答案 0 :(得分:2)

选择时,您需要编写一个列表选择器来更改背景颜色。所以首先要编写一个选择器。编写选择器的一种方法是这样的,首先在这样的drawable文件夹中创建一个xml文件,listselector.xml

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

    <item android:state_pressed="true" android:drawable="@drawable/round_corner_selected"/>
    <item android:drawable="@drawable/round_corner"/>

</selector>

然后您可以将此选择器引用到列表视图

android:listSelector="@drawable/listselector" 

或者像你一样做,

row.setBackgroundResource(R.drawable.listselector); 

答案 1 :(得分:0)

ListView XML中,您可以设置listSelector,这是一个单独的drawable,用于选择项目。

例如

android:listSelector="@drawable/list_selector"