类似iphone的短消息效果
网上借的
package com.ql.app;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.ListView;public class ChatActivity extends Activity {private ChattingAdapter adapter;private List<ChatMessage> messages = new ArrayList<ChatMessage>();private ListView listView;private Button btn_send;private EditText textEditor;private ImageView btn_insert; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); messages.add(new ChatMessage(ChatMessage.MESSAGE_FROM, "hello,android.")); messages.add(new ChatMessage(ChatMessage.MESSAGE_TO, "hello,java.")); messages.add(new ChatMessage(ChatMessage.MESSAGE_FROM, "请教高手,怎么可以给gridview设置边框啊,现在这个显示效果实在太难看了。")); messages.add(new ChatMessage(ChatMessage.MESSAGE_TO, "那就加点背景,加点属性什么的不就行了吗")); messages.add(new ChatMessage(ChatMessage.MESSAGE_FROM, "在主题中,将gridview的cssclass设置为gridview")); messages.add(new ChatMessage(ChatMessage.MESSAGE_TO, "谢谢")); listView=(ListView)findViewById(R.id.listView); adapter = new ChattingAdapter(this, messages); listView.setAdapter(adapter); btn_send = (Button) findViewById(R.id.btn_send);textEditor = (EditText) findViewById(R.id.text_editor);btn_insert=(ImageView) findViewById(R.id.btn_insert);btn_send.setOnClickListener(listener);btn_insert.setOnClickListener(listener); } private View.OnClickListener listener = new View.OnClickListener() {@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_send:String str = textEditor.getText().toString();String sendStr=str.trim();if(!sendStr.equals("")){sendMessage(sendStr);}textEditor.setText("");break;case R.id.btn_insert:Intent i = new Intent();i.setType("image/*");i.setAction(Intent.ACTION_GET_CONTENT);startActivityForResult(i, Activity.DEFAULT_KEYS_SHORTCUT);//Intent it = new Intent("android.media.action.IMAGE_CAPTURE");//startActivityForResult(it, Activity.DEFAULT_KEYS_DIALER);break;default:break;}}// 模拟发送消息private void sendMessage(String sendStr) {messages.add(new ChatMessage(ChatMessage.MESSAGE_TO, sendStr));adapter.notifyDataSetChanged();}}; }
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:focusable="false" android:focusableInTouchMode="false" android:background="@drawable/nav_page"android:gravity="center_horizontal" > <ListView android:id="@+id/listView" android:background="@null" android:scrollbars="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:listSelector="@null" android:transcriptMode="alwaysScroll" android:cacheColorHint="#00000000" android:divider="@null" android:layout_weight="1.0" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/txt_msg_bg" android:paddingRight="7.0dip" > <ImageView android:id="@+id/btn_insert" android:layout_gravity="center_vertical" android:paddingLeft="15.0dip" android:paddingTop="5.0dip" android:paddingRight="7.0dip" android:paddingBottom="5.0dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/sms_insert" /> <EditText android:id="@+id/text_editor" android:layout_width="0.0dip" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:background="@drawable/sms_embeded_text_editor_bg" android:focusable="true" android:nextFocusRight="@+id/send_button" android:layout_marginLeft="7.0dip" android:layout_marginTop="5.0dip" android:layout_marginRight="7.0dip" android:layout_marginBottom="5.0dip" android:minHeight="34.0dip" android:hint="输入消息" android:maxLines="8" android:maxLength="2000" android:capitalize="sentences" android:autoText="true" android:layout_weight="1.0" android:inputType="textCapSentences|textAutoCorrect|textMultiLine|textShortMessage" android:imeOptions="actionSend|flagNoEnterAction" /> <Button android:id="@+id/btn_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center_vertical" android:background="@drawable/sms_send_button_bg" android:paddingLeft="11.0dip" android:paddingRight="11.0dip" android:nextFocusLeft="@id/text_editor" /> </LinearLayout></LinearLayout>