对于这两个聊天页面(两个实现几乎一样),需要做优化,第一个要优化的是: 加载聊天历史记录的方式,当前的加载方式是从顶往下加载出最新的聊天记录,导致页面渲染的效果是从页顶往下滑。 这种加载方式是最自然能想到(也最容易实现的),但其展现效果会让用户体验不好。
为了一开始就展示最新的聊天记录,页面固定不动,以下是可实现这目标的方案:
加载聊天记录的顺序从最新的消息开始加载到页面上,即页面的最底部加载第一条消息,接着在第一条上边加载第二条,如此反复。
优化后的加载方式,就不应出现边加载聊天记录,边滑动页面。即页面固定住(显示的是最新消息),不随加载更旧的消息时,而向上滚动
只加载到最近50条,其它的当用户点击“加载更多”才继续加载出来。“加载更多”一次也只加载 100 条,剩下又得点击“加载更多”。 getChatHistory 接口是一次性拉取了所有聊天记录,意思是:
1. 先只加载 50 条,是从getChatHistory 获取的聊天记录中先取最近的50条
2. 上拉完已经渲染的50条消息的顶部有“加载更多”。
2. 如果没有超过50条消息,就没有“加载更多”。
3. 记录好那些没被加载的聊天数据,随时准备让“加载更多”触发加载出来
我将按照你的要求进行以下优化:
在微信端或app上,占击输入框后,输入区域会随输入键盘上移到键盘上方,但消息列表没上移,部分被遮住了,请实现消息也像输入框一样上移到合适位置