这是我的选择器xml。
<?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 :(得分:0)
您向我们展示的是 drawable 选择器。因此它将根据视图的状态(按下,聚焦,......)选择drawable。
您需要使用相同的图案,但需要使用颜色。在color
目录中创建一个目录res
,在color
内创建一个文件selectable_color.xml
在此文件中,输入以下内容:
<?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
。现在,当用户按下视图时,其文本颜色将从蓝色变为红色。
然而,如果按下的不是您要寻找的状态,请不要犹豫它,它与可绘制的一样。
答案 1 :(得分:-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"/>
这样您就可以设置文本颜色和字体。我不知道背景颜色的事情。