概述
效果图如下:
list.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#ffffff"
android:paddingTop="10dp" >
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="20sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="10dp"
android:background="#e6e6e6" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
list_item.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="20dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:background="@drawable/listitem_selector" >
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@drawable/font_selector"
android:duplicateParentState="true"
android:gravity="center_vertical"
android:textSize="18sp" />
</LinearLayout>
listitem_selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 没有焦点时的背景颜色 -->
<item android:drawable="@color/unfocused" android:state_window_focused="false"/>
<!-- 非触摸模式下获得焦点并单击时的背景颜色 -->
<item android:drawable="@color/pressed" android:state_focused="true" android:state_pressed="true"/>
<!-- 触摸模式下单击时的背景颜色 -->
<item android:drawable="@color/pressed" android:state_focused="false" android:state_pressed="true"/>
<!-- 选中时的背景颜色 -->
<item android:drawable="@color/pressed" android:state_selected="true"/>
<!-- 获得焦点时的背景 颜色 -->
<item android:drawable="@color/pressed" android:state_focused="true"/>
</selector>
font_selector:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:color="#ff0030" /> <!-- focused -->
<item android:state_pressed="true" android:color="#ff0030" /> <!-- pressed -->
<item android:state_selected="true" android:color="#ff0030" /> <!-- pressed -->
<item android:color="#222222" /> <!-- default -->
</selector>
activity:
listView = (ListView) contentView1.findViewById(R.id.list);
ArrayList<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>();
for (String i : name) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("data", i);
data.add(map);
}
SimpleAdapter simple = new SimpleAdapter(getActivity(), data,
R.layout.layout_popup_item, new String[] { "data" },
new int[] { R.id.text1 });
listView.setAdapter(simple);
注意:
TextView 还要增加个属性
android:duplicateParentState="true"
这样才会跟随ParentView的状态来变化
最后
以上就是顺利雪糕为你收集整理的Android ListView 点击Item的时候,改变文字颜色和背景色的全部内容,希望文章能够帮你解决Android ListView 点击Item的时候,改变文字颜色和背景色所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复