IM即时通讯项目讲解(一)--实现类似qq微信表情面板无缝切换

本文介绍了如何在Android即时通讯项目中实现类似QQ、微信的表情面板与软键盘平滑切换,通过集成Airpanel库,解决键盘与表情切换时的界面跳动问题,提供了一步骤集成和使用的方法。
摘要由CSDN通过智能技术生成

该系列技术课程来源慕课IM实战

通过该课程可以学习到以下知识点
  • 1、了解和开发后台项目(这个是需要长期积累的,有了这个可以说入门没问题)
  • 2、学习到IM相关知识点,创建群、添加群、单聊、群聊
  • 3、可以学习到数据库的相关操作(建表、表之间的关联等知识)
  • 4、学习到MVP模式,更加深入了解MVP模式的架构和实现
  • 5、学习到关于IM相关的优化,比如如何快速刷新界面
  • 6、学习到如何进行推送等相关操作(服务器端推送,单推、群推)
  • 7。。。当然还有好多的,大家不妨去了解一下,学习到知识才是最重要的

首先看下效果图(无图耍流氓)

前言

这里首先给个完整的项目地址,该项目是一个完整的IM即时通信。涵盖的功能群聊、单聊、创建群组、添加好友等。。。。大家可以下载看下.相关功能点readme.md中都有简介。

这个项目也算是一个完整的项目,并且运用了一些比较不错的知识点,还有就是项目中的一些小功能。在我们以后的开发或者写的项目中可能会有启发和用途,因此在这里通过写文章记录一下,一方面也是对于所学知识的巩固(正所谓码了也不一定会、会了也不一定总结出来、总结出来也不一定讲出来),正是这个道理,因为总结出来和自己会不是一个境界,能讲出来境界又是提高一层。所以大家不要只停留在码代码的一层,要做一名有追求的程序员(虽然我自己在码代码的道路上越走越远,但是始终不会放弃初心。加油—小菜鸟)

好了,说了那么多话,没一句说道本篇文章上,不过还要在说几句,关于这个IM即时通讯demo,我还是会写几篇文章对其进行总结的,也算是对于自己所学的一个考评吧。接下来会一到两周更新一篇。准备利用两个月时间消化吸收。

此篇文章背景

在自己的项目中,用到了EditText输入框,这个是之前已经开发好的,但是有一个问题,那就是没有解决相应的网络出现的各种冲突(泪奔),然后在自己开发社区的时候,在社区详情,对于评论过多的时候在弹出软键盘的时候(当再次点击取消软键盘消失的时候)下面的评论会进行跳动(也就是说取消之后定位的地方不是刚开始弹出软键盘的地方),当然这个和项目初期的控件,评论机制有关系,现在评论做成了本地评论(有相关的需求的可以进行讨论哈),现在问题解决了,但是还有个体验不好的地方就是软键盘的切换闪屏问题,就是当切换表情的时候屏幕会跳动,因此这个也是之后进行的版本优化任务。现在在这个项目中解决了软键盘的切换问题,基本达到了类似微信、QQ软键盘表情切换效果,让你体验如丝般顺畅。好了,有如此好的方法能够解决软键盘、表情切换方法或者代码,那还不赶紧给大家推荐推荐,以方便广大老铁们的开发哈。好了废话不多说。看看怎么集成到项目中吧。

项目集成

原项目地址 Airpanel

第一步

在module的build.gradle中加入(这个库很小,8个类,最大类也就200来行代码,小类几十行代码)

compile 'net.qiujuer.widget:airpanel:1.0.0'
第二步

创建空气面板布局lay_chat_air_panel.xml(这个里面就需要用到库中的自定的一个控件了)关于控件的使用在后面会进行相关讲解,这个地方想说明如何引入到项目中

<?xml version="1.0" encoding="utf-8"?>
<net.qiujuer.widget.airpanel.AirPanelLinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/airPanelSubLayout"  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="1px"
    android:visibility="gone">
<!--airPanelSubLayout这个根布局的id必须是这个-->


<!--这里放入一个fragment,在这个fragment里面实现表情、语音、图片、输入法的相关逻辑切换-->
    <
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值