Android ListView 点击Item的时候,改变文字颜色和背景色

效果图如下:

list.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=""android:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"android:background="#ffffff"android:paddingTop="10dp" ><TextViewandroid:id="@+id/text"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center"android:textSize="20sp" /><Viewandroid:layout_width="match_parent"android:layout_height="1dp"android:layout_marginTop="10dp"android:background="#e6e6e6" /><ListViewandroid: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=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:paddingLeft="20dp"android:paddingTop="10dp"android:paddingBottom="10dp"android:background="@drawable/listitem_selector" ><TextViewandroid: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=""><!– 没有焦点时的背景颜色 –><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=""><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的时候,改变文字颜色和背景色

相关文章:

你感兴趣的文章:

标签云: