怎么在android中利用recyclerview制作一个聊天界面

  介绍

本篇文章给大家分享的是有关怎么在android中利用recyclerview制作一个聊天界面,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

实现代码:

package  com.itheima74.chatui;      import  android.os.Bundle;   import  android.support.v7.app.AppCompatActivity;   import  android.support.v7.widget.LinearLayoutManager;   import  android.support.v7.widget.RecyclerView;   import  android.view.View;   import  android.widget.Button;   import  android.widget.EditText;      import  java.util.ArrayList;/* *   ,*聊天界面,使用recyclerview实现   ,*效果不好,发送的消息不能靠右对齐,   ,*不知何故,怎么弄都弄不好,请教!   ,*问题的解决:用Relativelayout代替linearlayout可以解决上述问题   ,*/public  class  MainActivity  extends  AppCompatActivity  {   ,private  RecyclerView  recyclerview;   ,private  EditText  et_input;   ,private  ArrayList mMsgList;   ,private  MsgAdapter  mMsgAdapter;      ,@Override   ,protected  void  onCreate (Bundle  savedInstanceState), {   ,super.onCreate (savedInstanceState);   ,setContentView (R.layout.activity_main);      ,initView ();   ,initData ();   ,initAdapter ();   ,}      ,private  void  initAdapter (), {=,,mMsgAdapter  new  MsgAdapter (mMsgList);   ,recyclerview.setAdapter (mMsgAdapter);   ,}/* *   ,*初始化数据源   ,*/,private  void  initData (), {=,,mMsgList  new  ArrayList<在();   ,mMsgList.add (new 味精(“你好!“,,Msg.TYPE_RECEIVE));   ,mMsgList.add (new 味精(“你好!,Who  is  ?“,, Msg.TYPE_SEND));   ,mMsgList.add (new 味精(“却;能够is 杰克,Nice 用meet 你!“,,Msg.TYPE_RECEIVE));   ,}/* *   ,*初始化控件   ,*/,private  void  initView (), {=,recyclerview  (RecyclerView), findViewById (R.id.recyclerview);   EditText, et_input =, (), findViewById (R.id.et_input);   ,Button  bt_send =,(按钮),findViewById (R.id.bt_send);      ,LinearLayoutManager  layoutManager =, new  LinearLayoutManager(这个);   ,layoutManager.setOrientation (LinearLayoutManager.VERTICAL);   ,recyclerview.setLayoutManager (layoutManager);      ,bt_send.setOnClickListener (new  View.OnClickListener (), {   @Override才能   public 才能;void  onClick (View  v), {   String 才能;content =, et_input.getText () .toString () .trim ();//才能,如果用户没有输入,则是一个空串”;“   if 才能;(! content.isEmpty ()), {   ,,mMsgList.add (new 味精(内容,Msg.TYPE_SEND));//,,,通知数据适配器刷新界面   ,,mMsgAdapter.notifyDataSetChanged ();   ,,//,定位到最后一行   ,,recyclerview.scrollToPosition (mMsgList.size(),安康;1);//,,,输入框置空   ,,et_input.setText (“;”);   ,,}   ,,}   ,});      ,}   } & lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; LinearLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   ,android: layout_width=癿atch_parent"   ,android: layout_height=癿atch_parent"   ,android:背景=? d8e0e8"   ,android:取向=皏ertical"祝辞      & lt; android.support.v7.widget.RecyclerView   ,android: id=癅 + id/recyclerview"   ,android: layout_width=癿atch_parent"   ,android: layout_height=? dp"   ,android: layout_weight=?“,/比;      & lt; LinearLayout   ,android: layout_width=癿atch_parent"   ,android: layout_height=皐rap_content"   ,android:取向=癶orizontal"祝辞      EditText & lt;   android:才能id=癅 + id/et_input"   android:才能layout_width=? dp"   android:才能layout_height=皐rap_content"   android:才能layout_weight=?”;   android:才能暗示=扒胧淙胍⑺偷哪谌荨?/比;      & lt;按钮   android:才能id=癅 + id/bt_send"   android:才能layout_width=皐rap_content"   android:才能layout_height=皐rap_content"   android:文本=安拍芊⑺汀?/比;   ,& lt;/LinearLayout>      & lt;/LinearLayout> package  com.itheima74.chatui;/* *   ,* Created  by  My 提醒2017/3/3。   ,*/class  Msg  {   ,static  final  int  TYPE_RECEIVE =, 1;   ,static  final  int  TYPE_SEND =, 2;   ,String 内容;   ,int 类型;      ,味精(String 内容,int 类型),{=,this.content 内容;=,this.type 类型;   ,}   }

怎么在android中利用recyclerview制作一个聊天界面