内容:该项目是一个社交聊天app,拥有聊天、朋友圈功能。
1.项目使用kotlin语言编写,采用rxjava2+okhttp+retrofit+MVP+dagger2架构,支持 AndroidX
2.聊天内容类型有:文字、表情包、语音、图片、地理位置、文件、红包、个人名片。还可以进行语音通话。
3. 朋友圈:内容类型有文字、图片、地理位置。而且可以 点赞或评论,发布时还可以设置可见人、不可见人。
4. 即时通讯主要通过极光IM SDK实现,界面完全需要自己实现,比如发送消息的收集、发送、显示、加载中。
聊天界面由多种item显示,并且监听软键盘的出现和隐藏,使得软键盘与选择栏互斥,不同时出现
朋友圈的列表Recyclerview又嵌套了三个Recyclerview,导致列表的findLastVisibleItemPosition函数失灵,我在列表外嵌套一个ScrollView,通过判断滑动距离是否大于等于列表长度减去ScrollView的高度来判断是否滑动到底。