Android学习笔记(十二)——实战:制作一个聊天界面

时间:2022-12-12 12:34:11

  //此系列博文是《第一行Android代码》的学习笔记,如有错漏,欢迎指正!

  运用简单的布局知识,我们可以来尝试制作一个聊天界面。

一、制作 Nine-Patch 图片 :

  Nine-Patch图片是一种被特殊处理过的 png 图片,能够指定哪些区域可以被拉伸而哪些区域不可以。一般用来作为聊天信息的背景。在此我们先准备一张png图片。然后在 Android sdk 目录下有一个 tools 文件夹,在这个文件夹中找到 draw9patch.bat文件。 双击打开之后, 在导航栏点击 File→Open 9-patch将 msg.png加载进来。我们可以在图片的四个边框绘制一个个的小黑点, 在上边框和左边框绘制的部分就表示当图片需要拉伸时就拉伸黑点标记的区域, 在下边框和右边框绘制的部分则表示内容会被放置的区域。右侧是三种不同拉伸情况下的预览图:

  aaarticlea/png;base64,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" alt="" width="557" height="324" />

  最后点击导航栏 File→Save 9-patch 把绘制好的图片进行保存,此时的文件名就是msg_left.9.png。同样,我们制作一张msg_right.9.png。

二、编写布局文件:  

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#d8e0e8"
android:orientation="vertical" >
<ListView
android:id="@+id/msg_list_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:divider="#0000" >
</ListView>
<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="Type somthing here"
android:maxLines="2" />
<Button
android:id="@+id/send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send" />
</LinearLayout>
</LinearLayout>

  我们指定了一个ListView用来显示聊天内容,另外还有一个EditText和button。其中ListView 中用到了一个 android:divider属性,它可以指定 ListView 分隔线的颜色,这里#0000 表示将分隔线设为透明色。

三、编写Msg类:

  为了后续的操作,我们定义一个Msg类:

 public class Msg {
public static final int TYPE_RECEIVED = 0;
public static final int TYPE_SENT = 1;
private String content;
private int type;
public Msg(String content, int type) {
this.content = content;
this.type = type;
}
public String getContent() {
return content;
}
public int getType() {
return type;
}
}

  Msg 类中只有两个字段,content表示消息的内容,type 表示消息的类型。其中消息类型有两个值可选,TYPE_RECEIVED 表示这是一条收到的消息,TYPE_SENT 表示这是一条发出的消息。

四、编写ListView的子布局:

  新建 msg_item.xml:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp" >
<LinearLayout
android:id="@+id/left_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:background="@drawable/msg_left" >
<TextView
android:id="@+id/left_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:id="@+id/right_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="@drawable/msg_right" >
<TextView
android:id="@+id/right_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp" />
</LinearLayout>
</LinearLayout>

  这里我们让收到的消息居左对齐,发出的消息居右对齐,并且分别使用 message_left.9.png和 message_right.9.png 作为背景图。这里我们让收到的消息和发出的消息都放在同一个布局里,在稍后在代码中我们根据消息的类型来决定隐藏和显示哪种消息。

五、创建 ListView的适配器类:

  同样,我们需要新建一个适配器类:

 public class MsgAdapter extends ArrayAdapter<Msg> {
private int resourceId;
public MsgAdapter(Context context, int textViewResourceId, List<Msg>
objects) {
super(context, textViewResourceId, objects);
resourceId = textViewResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Msg msg = getItem(position);
View view;
ViewHolder viewHolder;
if (convertView == null) {
view = LayoutInflater.from(getContext()).inflate(resourceId, null);
viewHolder = new ViewHolder();
viewHolder.leftLayout = (LinearLayout) view.findViewById(R.id.left_layout);
viewHolder.rightLayout = (LinearLayout) view.findViewById(R.id.right_layout);
viewHolder.leftMsg = (TextView) view.findViewById(R.id.left_msg);
viewHolder.rightMsg = (TextView) view.findViewById(R.id.right_msg);
view.setTag(viewHolder);
}
else {
view = convertView;
viewHolder = (ViewHolder) view.getTag();
} //提高ListView的效率 if (msg.getType() == Msg.TYPE_RECEIVED) {
// 如果是收到的消息,则显示左边的消息布局,将右边的消息布局隐藏
viewHolder.leftLayout.setVisibility(View.VISIBLE);
viewHolder.rightLayout.setVisibility(View.GONE);
viewHolder.leftMsg.setText(msg.getContent());
} else if(msg.getType() == Msg.TYPE_SENT) {
// 如果是发出的消息,则显示右边的消息布局,将左边的消息布局隐藏
viewHolder.rightLayout.setVisibility(View.VISIBLE);
viewHolder.leftLayout.setVisibility(View.GONE);
viewHolder.rightMsg.setText(msg.getContent());
}
return view;
}
class ViewHolder {
LinearLayout leftLayout;
LinearLayout rightLayout;
TextView leftMsg;
TextView rightMsg;
}
}

  代码中在 getView()方法中增加了对消息类型的判断。如果这条消息是收到的,则显示左边的消息布局,如果这条消息是发出的,则显示右边的消息布局。

六、添加主活动的逻辑:

 public class MainActivity extends AppCompatActivity {
private ListView msgListView;
private EditText inputText;
private Button send;
private MsgAdapter adapter;
private List<Msg> msgList = new ArrayList<Msg>();
private int index = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initMsgs(); // 初始化消息数据
adapter = new MsgAdapter(MainActivity.this, R.layout.msg_item, msgList);
inputText = (EditText) findViewById(R.id.input_text);
send = (Button) findViewById(R.id.send);
msgListView = (ListView) findViewById(R.id.msg_list_view);
msgListView.setAdapter(adapter);
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String content = inputText.getText().toString();
if (!"".equals(content)) {//content内容不为空时
index++;
Msg msg = new Msg(content, index%2);
msgList.add(msg);
adapter.notifyDataSetChanged(); // 当有新消息时,刷新ListView中的显示
msgListView.setSelection(msgList.size()); // 将ListView定位到最后一行
inputText.setText(""); // 清空输入框中的内容
}
}
});
} private void initMsgs() {
Msg msg1 = new Msg("娘子?", Msg.TYPE_RECEIVED);
msgList.add(msg1);
Msg msg2 = new Msg("啊哈?", Msg.TYPE_SENT);
msgList.add(msg2);
}
}

  在 initMsgs()方法中我们先初始化了几条数据用于在 ListView 中显示。然后在发送按钮的点击事件里获取了 EditText中的内容, 如果内容不为空则创建出一个新的 Msg 对象, 并把它添加到 msgList列表中去。之后又调用了适配器的 notifyDataSetChanged()方法,用于通知列表的数据发生了变化,这样新增的一条消息才能够在 ListView 中显示。接着调用 ListView的 setSelection()方法将显示的数据定位到最后一行,以保证一定可以看得到最后发出的一条消息。最后调用 EditText的 setText()方法将输入的内容清空。另外,我们加上一个标志index,这样就能轮流发送和接受信息了。

  最后我们的程序运行如下:

  Android学习笔记(十二)——实战:制作一个聊天界面

  //End.

  

Android学习笔记(十二)——实战:制作一个聊天界面的更多相关文章

  1. Android学习笔记(二)——探究一个活动

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 活动(Activity)是最容易吸引到用户的地方了,它是一种可以包含用户界面的组件,主要用于和用户进行交互.一 ...

  2. python3&period;4学习笔记&lpar;十二&rpar; python正则表达式的使用,使用pyspider匹配输出带&period;html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  3. 【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter

    目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续 ...

  4. 【转】Pro Android学习笔记(二):开发环境:基础概念、连接真实设备、生命周期

    在Android学习笔记(二):安装环境中已经有相应的内容.看看何为新.这是在source网站上的Android架构图,和标准图没有区别,只是这张图颜色好看多了,录之.本笔记主要讲述Android开发 ...

  5. Go语言学习笔记十二: 范围&lpar;Range&rpar;

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

  6. 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner

    目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...

  7. 【转】Pro Android学习笔记(二五):用户界面和控制(13):LinearLayout和TableLayout

    目录(?)[-] 布局Layout 线性布局LinearLayout 表格布局TableLayout 布局Layout Layout是容器,用于对所包含的view进行布局.layout是view的子类 ...

  8. 【转】 Pro Android学习笔记(二九):用户界面和控制(17):include和merge

    目录(?)[-] xml控件代码重用include xml控件代码重用merge 横屏和竖屏landsacpe portrait xml控件代码重用:include 如果我们定义一个控件,需要在不同的 ...

  9. Android学习笔记(二十二)——短信接收与发送

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 当手机接收到一条短信的时候, 系统会发出一条值为 android.provider.Telephony.SMS ...

随机推荐

  1. Ubuntu 12&period;04 改造指南

    文章转自:http://www.lupaworld.com/article-217719-1.html 升级12.04已经有一段时间了.作为一个从08年就开始用Ubuntu的老用户,我觉得作为一个LT ...

  2. C&plus;&plus;的那些事:const用法面面观

    一.const是什么 在 C/C++ 语言中,const关键字是一种修饰符.所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码.就 con ...

  3. &lbrack;iOS&rsqb;利用Appicon and Launchimage Maker生成并配置iOSApp的图标和启动页

    一.先来研究下这个软件->Appicon and Launchimage Maker 首先打开你电脑上的AppStore,然后搜索:AppIcon 然后回车: 这里我们先使用免费版的点击下载.( ...

  4. Java实战之03Spring-01Spring概述

    一.Spring概述 1.Spring是什么? Spring是分层的Java SE/EE应用 full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(A ...

  5. jquery图片无缝滚动代码左右 上下无缝滚动图片

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 在Intellij IDEA或者PhpStorm下用X-debug调试PHP

    用Intellij IDEA或者PhpStorm使用X-debug来调试PHP,主要需要配置的部分有三个地方,分别为php.ini的配置,IDEA的配置和浏览器的配置,主要如下,以备忘: php.in ...

  7. 如何让你的eclipse运行更快和eclipse常用快捷键

    方案来之网络,已自测... 原地址:戳进来 1.在eclipse启动的时候,它总是会搜索让其运行的jre,往往就是这个搜索过程让eclipse启动变慢了.(没设置时,等2-3s出现进度条,设置后直接出 ...

  8. GSON 示例代码 实用版

    去除所有格式的json字符串 {"data":[{"friend":[{"address":"广州","nam ...

  9. eclipse集成lombok

    第一部下载 lombok jar包 https://projectlombok.org/download.html lombok下载地址,进入该网址后可以看到如下界面,点击下载就行了.   下载 ja ...

  10. socket接收大数据流

    客户端: import socket client = socket.socket() client.connect(("127.0.0.1", 9999)) while True ...