android handcent短信 仿iphone氣泡聊天

廢話不說直接上圖


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;
	}
}

代碼下載


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章