1,首先是配置文件:
message_send_list.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"
>
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mms_send_list"
android:divider="@android:color/transparent"
android:dividerHeight="10dp"
>
</ListView>
</LinearLayout>
說明:不要此文件中配置gravity屬性message_send_list_view.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"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="right"
>
<RelativeLayout
android:layout_width="240dp"
android:layout_height="fill_parent"
android:gravity="right"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/message_send_view"
android:textSize="20sp"
android:textColor="@android:color/black"
android:gravity="left"
android:paddingLeft="25dp"
android:paddingTop="10dp"
android:paddingRight="25dp"
android:paddingBottom="10dp"
android:background="@drawable/send_message1"
>
</TextView>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
不要在頂層<LinearLayout>中配置gravity屬性,否則不起作用;在第二層<LinearLayout>中配置gravity爲right,並且在第三層<RelativeLayout>中配置gravity爲right;在第四層<TextView>中配置gravity爲left。這三次配置,一個都不能少。
2,然後是顯示引擎:MessageActivity.java
package com.hello.storage;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class MessageActivity extends Activity {
private ListView mms_sendListView;
private ListView mms_receiveListView;
private TextView mms_sendTextView;
private TextView mms_receiveTextView;
List<Map<String, Object>> list;
// private String[] strs={"A","B","C","D","E","F"};
// private String[] strs={"A"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.message_send_list);
mms_sendListView = (ListView) findViewById(R.id.mms_send_list);
refreshListItems();
}
private void refreshListItems() {
list = buildListForSimpleAdapter();
SimpleAdapter notes = new SimpleAdapter(this, list, R.layout.message_send_list_view,
new String[]{"str"}, new int[] { R.id.message_send_view, });
mms_sendListView.setAdapter(notes);
mms_sendListView.setSelection(0);
}
private List<Map<String, Object>> buildListForSimpleAdapter() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(2);
// Build a map for the attributes
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", "不客氣,下次再來,爲了答謝您的在此光顧,下次決定給予您一定量的優惠");
list.add(map);
map = new HashMap<String, Object>();
map.put("str", "好的,一定會在此光臨的");
list.add(map);
return list;
}
}
3,註解
對Activity做配置之後,即可運行,截圖如下:
存在問題:背景還不是很滿意,希望一塊兒探討。。。