iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android ListView实现仿微信聊天界面
  • 857
分享到

Android ListView实现仿微信聊天界面

2023-06-20 12:06:23 857人浏览 八月长安
摘要

本篇内容主要讲解“Android ListView实现仿微信聊天界面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android ListView实现仿微信聊天界面”吧!Android List

本篇内容主要讲解“Android ListView实现仿微信聊天界面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android ListView实现仿微信聊天界面”吧!

Android ListView仿聊天界面效果图的具体代码,供大家参考,具体内容如下

Android ListView实现仿微信聊天界面

1.首先页面总布局(ListView + LinearLayout(TextView+Button))

<LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    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="#000000"         />        <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <EditText             android:id="@+id/input_text"            android:layout_height="wrap_content"            android:layout_width="0dp"            android:layout_weight="1"            android:gravity="center_vertical"            android:maxLines="2"/>        <Button             android:id="@+id/send"            android:text="发送"            android:layout_height="wrap_content"            android:layout_width="wrap_content"            android:gravity="center"/>    </LinearLayout> </LinearLayout>

2.为ListView定制Adapter

public class MsgAdapter extends ArrayAdapter<Msg>{  private int resourceID;  public MsgAdapter(Context context, int resource, List<Msg> objects) {  super(context, resource, objects);  resourceID = resource; }  @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();  }  if(msg.getType() == Msg.MSG_RECEIVE) {   viewHolder.leftLayout.setVisibility(View.VISIBLE);   viewHolder.rightLayout.setVisibility(View.GoNE);   viewHolder.leftMsg.setText(msg.getMessage());  }else {   viewHolder.rightLayout.setVisibility(View.VISIBLE);   viewHolder.leftLayout.setVisibility(View.GONE);   viewHolder.rightMsg.setText(msg.getMessage());  }  return view; }  class ViewHolder {  LinearLayout leftLayout;    LinearLayout rightLayout;    TextView leftMsg;    TextView rightMsg;   } }
public class Msg { public static final int MSG_RECEIVE = 0; public static final int MSG_SEND = 1;  private int type; private String content;  public Msg(String content, int type) {  this.content = content;  this.type = type; }  public String getMessage() {  return content; } public int getType() {  return type; }}

3.ListView单个view布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="vertical" >     <LinearLayout      android:id="@+id/left_layout"     android:layout_height="wrap_content"     android:layout_width="wrap_content"     android:layout_gravity="start"     android:gravity="center"          >     <ImageView         android:id="@+id/left_image"         android:src="@drawable/yan"         android:layout_height="wrap_content"         android:layout_width="wrap_content"          />     <LinearLayout          android:layout_height="wrap_content"         android:layout_width="wrap_content"         android:background="@drawable/msg">         <TextView          android:id="@+id/left_msg"         android:layout_height="wrap_content"         android:layout_width="wrap_content"         />     </LinearLayout>          </LinearLayout>  <LinearLayout      android:id="@+id/right_layout"     android:layout_height="wrap_content"     android:layout_width="wrap_content"     android:layout_gravity="end"     android:gravity="center"     >     <LinearLayout          android:layout_height="wrap_content"         android:layout_width="wrap_content"         android:background="@drawable/msg">         <TextView          android:id="@+id/right_msg"         android:layout_height="wrap_content"         android:layout_width="wrap_content"         />     </LinearLayout>     <ImageView         android:id="@+id/right_image"         android:src="@drawable/meng"         android:layout_height="wrap_content"         android:layout_width="wrap_content"          />      </LinearLayout></LinearLayout>

4.ListView加载Adapter

public class MainActivity extends Activity {  private ListView listView;  private MsgAdapter msgAdapter;  private List<Msg> msgList = new ArrayList<Msg>();  private EditText input;  private Button send;  @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  listView = (ListView) findViewById(R.id.msg_list_view);  initMsg();  msgAdapter  = new MsgAdapter(this, R.layout.msg_item, msgList);  listView.setAdapter(msgAdapter);    input = (EditText) findViewById(R.id.input_text);  send = (Button) findViewById(R.id.send);  send.setOnClickListener(new OnClickListener() {      @Override   public void onClick(View v) {    String message = input.getText().toString();    if(!"".equals(message)) {     Msg msg = new Msg(message, Msg.MSG_SEND);     msgList.add(msg);     msgAdapter.notifyDataSetChanged();//当有新消息时刷新     listView.setSelection(msgList.size());    }else {     Toast.makeText(MainActivity.this, "input can't be empty", Toast.LENGTH_SHORT).show();    }    input.setText("");   }  }); }  private void initMsg() {  Msg msg;  msg = new Msg("Hi, boy", Msg.MSG_RECEIVE);  msgList.add(msg);  msg = new Msg("Hi, girl", Msg.MSG_SEND);  msgList.add(msg);  msg = new Msg("what's up", Msg.MSG_RECEIVE);  msgList.add(msg); }}

到此,相信大家对“Android ListView实现仿微信聊天界面”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Android ListView实现仿微信聊天界面

本文链接: https://www.lsjlt.com/news/296717.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android ListView实现仿微信聊天界面
    本篇内容主要讲解“Android ListView实现仿微信聊天界面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android ListView实现仿微信聊天界面”吧!Android List...
    99+
    2023-06-20
  • Android ListView仿微信聊天界面
    Android ListView仿聊天界面效果图的具体代码,供大家参考,具体内容如下 1.首先页面总布局(ListView + LinearLayout(TextView+Butt...
    99+
    2022-11-12
  • Android仿微信语音聊天界面设计
    有段时间没有看视频了,昨天晚上抽了点空时间,又看了下鸿洋大神的视频教程,又抽时间写了个学习记录。代码和老师讲的基本一样,网上也有很多相同的博客。我只是在AndroidStudi...
    99+
    2022-06-06
    界面 界面设计 Android
  • 微信小程序怎么实现仿微信聊天界面
    本篇内容介绍了“微信小程序怎么实现仿微信聊天界面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!仿微信聊天界面,数据来自mock数据,支持聊天...
    99+
    2023-06-26
  • android仿微信聊天界面 语音录制功能
    本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI。 1先看效果图:       第一:chat.xml设计 <?x...
    99+
    2022-06-06
    微信聊天界面 界面 Android
  • android Listview模拟聊天界面
    本文实例为大家分享了android Listview模拟聊天界面的具体代码,供大家参考,具体内容如下代码:package com.example.test;import android.os.Bundle;import android.su...
    99+
    2023-05-31
    android listview 聊天界面
  • Android仿QQ、微信聊天界面长按提示框效果
    先来看看效果图 如何使用 示例代码 PromptViewHelper pvHelper = new PromptViewHelper(mActivity); pvHelp...
    99+
    2022-06-06
    微信聊天界面 界面 Android
  • uniapp模仿微信实现聊天界面的示例代码
    目录项目演示前言主界面chat.vue中引入的js文件chat.vue中引入的组件submit.vue中引入的组件最后项目演示 前言 我是看B站的视频一个一个敲的,讲的还不错。可以...
    99+
    2022-11-12
  • Unity实现微信聊天框界面
    本文实例为大家分享了Unity实现微信聊天框界面的具体代码,供大家参考,具体内容如下 【原理】 一个聊天界面主要由三个部分组成:内容区、可见区、滑动条 可见区在内容区上边,内容区会随...
    99+
    2022-11-12
  • android 仿微信demo——微信主界面实现
    目录主界面实现测试总结 以往文章中实现微信启动页,登录注册功能,此基础上继续完善仿微信功能。 主界面实现 (1)整体采用RelativeLayout相对布局 (2)最上面是too...
    99+
    2022-11-12
  • 如何使用HTML5仿手机微信聊天界面
    本篇文章给大家分享的是有关如何使用HTML5仿手机微信聊天界面,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。给大家带来的是HTML5仿手机微信...
    99+
    2022-10-19
  • android 仿微信demo——微信启动界面实现
    目录微信启动界面创建项目微信启动界面实现测试总结微信启动界面 创建项目 android studio创建移动端项目 微信启动界面实现 当第一次点击微信时会看到微信出现启动界...
    99+
    2022-11-12
  • Android仿微信语音聊天功能
    本文实例讲述了Android仿微信语音聊天功能代码。分享给大家供大家参考。具体如下: 项目效果如下: 具体代码如下: AudioManager.java package...
    99+
    2022-06-06
    Android
  • 如何利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
    这篇文章主要介绍如何利用HTML5+css3+jquery+weui实现仿微信聊天界面功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最新因项目需要,就利用HTML5+css3+jquery+weui做了一个仿微信...
    99+
    2023-06-09
  • android 仿微信聊天气泡效果实现思路
    微信聊天窗口的信息效果类似iphone上的短信效果,以气泡的形式展现,在Android上,实现这种效果主要用到ListView和BaseAdapter,配合布局以及相关素材,就...
    99+
    2022-06-06
    仿微信 天气 Android
  • HTML5如何实现微信聊天界面、微信朋友圈
    这篇文章主要介绍HTML5如何实现微信聊天界面、微信朋友圈,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!html代码片段:<!--BEGIN 打赏--> <...
    99+
    2022-10-19
  • android 仿微信demo——微信消息界面实现(移动端)
    目录移动端微信消息页实现总结移动端微信消息页实现 在上一篇中主界面实现说过微信四个页面中间都是是fragment的,并且四个fragment的布局都还没实现,所以这一篇主要实现微信...
    99+
    2022-11-12
  • android 仿微信demo——微信消息界面实现(服务端)
    目录服务端微信消息页实现测试总结 上一篇实现了移动端微信消息界面功能,以此为基础继续完善服务端功能 服务端微信消息页实现 微信消息界面的实现,和登录,注册是类似的,无非就是接受客...
    99+
    2022-11-12
  • android聊天界面如何实现
    要实现一个Android聊天界面,可以按照以下步骤进行:1. 创建一个聊天界面的布局文件,可以使用LinearLayout或者Rel...
    99+
    2023-09-18
    android
  • 基于Python实现微信聊天界面生成器
    用于制作自动化微信聊天图片,通过图片生成段子视频 根据一个txt文档input.txt L    一路走过来好热啊,我还是喝雪碧好了。你想喝点什么?R&...
    99+
    2023-01-29
    Python微信聊天界面生成器 Python聊天界面生成器 Python 生成器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作