仿QQ聊天界面的简单实现

仿QQ聊天界面的简单实现_第1张图片
首先 https://www.imooc.com/learn/217 这里是课程视频的链接,可以进入参照,但是图灵机器人API版本已经更新,视频中的请求和解析方式已不再适用,需要自己去请求和解析数据,由于API文档相对简单所以不做过多解释,只介绍一下更改的地方

  1. 改动了请求与解析方式,舍弃Result bean,直接提取有用的文本信息
  2. 自己下载制作了新的消息文本背景图,课程提供的在显示上有点不尽如人意
  3. 修改布局文件,课程中的布局文件存在小的瑕疵,发送文本过长时会将自己的头像和昵称挤掉
  4. 处理了键盘遮挡最新消息的不足
      这里需要说明一下,之前没处理过,于是百度,发现了这两篇文章30分钟手动实现QQ聊天界面和android:windowSoftInputMode属性详解,关于这个属性吧,可以自己去试验一下,整个布局都会抬升,明显不是想要的结果,最后发现这个地方一句代码就能搞定,通过以下代码就能让listview一直显示最下边最新的消息了
  5. 对输入本框进行最大最小高度限制,不再写死高度,只能显示一行文本
    // myListView是ListView控件  
    // adapter是ListView绑定的Adapter,如果不方便直接使用,也可以通过ListView的getAdapter()方法获取到,前提是你已经绑定了适配器
    // 里面的参数就很熟悉了吧,其实这个方法的主要作用是选中listview的指定列,选中了,自然就得让这个item可见,自然就滚动咯  
    myListView.setSelection(adapter.getCount()-1);  

  最后感觉整个课程,最有价值的就是学到了ListView实现多布局的处理方案,自己项目中编写的简单对话功能再也不是全显示在一边了?
附GitHub项目源码

你可能感兴趣的:(android)