廢話不說直接上圖
mian.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:orientation="vertical" >
<!--
屬性解釋:
android:divider 添加分割線
android:dividerHeight 分割線的高度
android:cacheColorHint
ListView是常用的顯示控件,默認背景是和系統窗口一樣的透明色,如果給ListView加上背景圖片,或者背景顏色時,滾動時listView會黑掉,
原因是,滾動時,列表裏面的view重繪時,用的依舊是系統默認的透明色,顏色值爲#FF191919,
要改變這種情況,只需要調用listView的setCacheColorHint(0),顏色值設置爲0
或者xml文件中listView的屬性 Android:cacheColorHint="#00000000"即可,
滾動時,重繪View的時候就不會有背景顏色。
android:listSelector 添加背景選擇器
-->
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="@null"
android:dividerHeight="0dip"
android:cacheColorHint="#00000000"
android:id="@+id/itemlist"
android:listSelector="@drawable/list_item_style">
</ListView>
</LinearLayout>
listview.xml 代碼如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:background="@drawable/bg"></TextView>
</LinearLayout>
背景選擇器 list_item_style.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_selected="true"
android:drawable="@android:color/transparent" />
<item android:state_pressed="true" android:state_selected="false"
android:drawable="@android:color/transparent" />
<item android:state_selected="false"
android:drawable="@android:color/white" />
</selector>
背景選擇器《參考》java code
public class HandcentActivity extends Activity {
private ListView itemlist;
private List<Map<String, Object>> list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
itemlist = (ListView)findViewById(R.id.itemlist);
refreshListItems();
}
private void refreshListItems() {
list = buildListForSimpleAdapter();
SimpleAdapter notes = new SimpleAdapter(this, list, R.layout.listview,
new String[] { "str" }, new int[] { R.id.TextView01,});
itemlist.setAdapter(notes);
itemlist.setSelection(0);
}
/**
* 模擬適配器加載的數據
* @return
*/
private List<Map<String, Object>> buildListForSimpleAdapter() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(2);
Map<String, Object> map = new HashMap<String, Object>();
map.put("str", "老張,小王沒來上班");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "昨天晚上聊天說他很忙,晚上回家有要事要辦");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "你懂的");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵呵呵呵呵呵呵呵呵\n呵呵呵呵\n呵呵\n呵呵");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "呵呵呵呵呵呵呵呵呵呵呵呵呵呵\n呵呵呵呵");
list.add(map);
return list;
}
}
《代碼下載》