不要拿小人的错误来惩罚自己,不要在这些微不足道的事情上折磨浪费自己的宝贵时间。
本讲内容:实现气泡短信样式
一、我们通过一个例子感受一下
下面是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之间的分割线
下面是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