前提:
准备两个.png图片,分别为message_left.png和message_right.png,分别作为接收到消息和已发送消息的背景图片。为实现背景图片根据内容被适当拉伸,需要将以上两个图片制作成Nine-Patch图片,这是一种经过特殊处理的图片,可以指定那些区域能够被拉伸,那些区域不可以。
Nine-Patch制作工具为draw9patch.bat,在Android SDK的tools文件下。使用前需要在环境变量中配置JDK的bin目录。配置完成后,双击打开draw9patch.bat,添加图片后对其设定。
背景图片准备好了之后,创建一个 android project项目,不用更改,直接使用默认的MainActivity作为启动活动。
接下来就可以开始设计聊天界面了。设计步骤如下:
1. 聊天界面需要用到RecyclerView控件,需要在app/build.gradle中添加其依赖库。在dependencies闭包中添加库compile ‘com.android.support:recyclerview-v7:24.2.1’,然后点击Sync同步gradle文件。
2. 编写聊天主界面activity_main.xml,将RecyclerView控件添加进去。RecyclerView用于显示聊天的消息内容。然后增加一个线性布局,用于放置消息编辑框EditText和发送按钮Button。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#d8e08e">
<android.support.v7.widget.RecyclerView
android:id="@+id/msg_recycler_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="请输入..."
android:maxLines="2"/>
<Button