第八十讲:实现气泡短信式样

第八十讲:实现气泡短信样式

不要拿小人的错误来惩罚自己,不要在这些微不足道的事情上折磨浪费自己的宝贵时间。


本讲内容:实现气泡短信样式


一、我们通过一个例子感受一下

第八十讲:实现气泡短信式样


下面是res/layout/activity_main.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:background="@android:color/white"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/itemlist"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:cacheColorHint="#00000000"
        android:divider="@null"
        android:dividerHeight="0dip"
        android:listSelector="@drawable/list_item_style" />

</LinearLayout>

android:divider="@null" 去掉item之间的分割线

    listView.setCacheColorHint(0); 或者android:cacheColorHint="#000000" 去除listview的拖动背景色


下面是res/layout/item.xml 布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  
<TextView android:id="@+id/tv01" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"
       android:textColor="@android:color/black"      
       android:background="@drawable/bg"></TextView>
</LinearLayout>

下面是res/drawable/list_item_style.xml 布局文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@android:color/black" android:state_focused="true"/>
    <item android:drawable="@android:color/background_dark" android:state_selected="true"/>
    <item android:drawable="@android:color/background_light" android:state_pressed="true" android:state_selected="false"/>
    <item android:drawable="@android:color/transparent" android:state_selected="false"/>

</selector>

下面是MainActivity.java主界面文件:

public class MainActivity extends Activity {
	private ListView itemlist=null;
	List<Map<String,Object>> list;
	final String[] str={"A","B","C","D","E","F"};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		itemlist=(ListView) findViewById(R.id.itemlist);
		refreshListItems();
	}
	
	private void refreshListItems() {
		list = buildListForSimpleAdapter();
		SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.item,
				new String[] { "str" }, new int[] { R.id.tv01,});
		itemlist.setAdapter(adapter);
		itemlist.setSelection(0);//定位到第一行
	}
	
	private List<Map<String, Object>> buildListForSimpleAdapter() {
		List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
		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", "老师:滚出去…………。");
		list.add(map);
		
		map = new HashMap<String, Object>();
		map.put("str", "呵呵呵呵呵呵呵\n呵呵呵呵呵\n呵呵呵呵\n呵呵");
		list.add(map);
		return list;
	}

}

本讲就到这里,Take your time and enjoy it