2015-10-26 24 views
0

这是我的选择器xml。Android ListView选择器同时更改背景图像和文本颜色

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_focused="false" android:drawable="@drawable/listview_bg" /> 
<item android:state_focused="true" android:drawable="@drawable/listview" /> 
<item android:state_window_focused="false" android:drawable="@drawable/listview_bg" /> 
</selector> 

我想改变的背景图像和文本的同时颜色, 我怎么能修改XML代码?

我试图在每个项目行添加android:color="#FFFFFF",但它不起作用。

+0

你有没有设置textcolor =“你的drawable”? –

回答

0

您向我们展示的是一个可绘制的选择器。所以它会根据视图的状态(按下,聚焦,...)选择drawable。

您需要使用相同的图案,但是对于一种颜色。在res目录和color directoy中的文件

在这个文件中创建一个目录color,把下面的:

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

所以按下蓝色否则当selectable_color将是红色的。现在在你的文章浏览或按钮中,像往常一样使用这种颜色android:textColor:@color/selectable_color。现在当用户按下视图时,其文本颜色将从蓝色变为红色。

但是,如果按下的不是您要查找的状态,请不要犹豫修改它,它与drawable是一样的。

-1

我已经在我的项目中使用下面的代码:

ListView listview = (ListView)findViewById(R.id.listView1); 

    /*Initialize values with values*/ 
    ArrayList<String> listItems = new ArrayList<String>(); 

    ArrayAdapter<String> adapter; 
    //adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, listItems); 

    adapter=new ArrayAdapter<String>(this,R.layout.list_view_item,listItems); 

    listItems.add("WebTouch Tab 1"); 
    listItems.add("WebTouch Tab 2"); 
    listItems.add("WebTouch Tab 3"); 
    listItems.add("WebTouch Tab 4"); 
    listItems.add("WebTouch Tab 5"); 
    listItems.add("WebTouch Tab 6"); 
    listItems.add("WebTouch Tab 7"); 
    listItems.add("WebTouch Tab 8"); 
    listItems.add("WebTouch Tab 9"); 
    listItems.add("WebTouch Tab 10"); 

list_view_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/tv_list_view" 
android:textColor="#6699FF" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:textSize="18sp" 
android:paddingTop="10sp" 
android:paddingBottom="10sp" 
android:paddingLeft="5sp"/> 

这样,你可以设置文字的颜色和字体。我不知道背景颜色的事情。

相关问题