RecyclerView的输入法弹框滚动(类似ListView的transcriptMode)

zhujunhua2012 2018-02-26 05:51:52
有个类似QQ的聊天界面,下方是 输入框,或者表情面板,上面是一个消息展示的recyclerView。

原先使用的ListView实现消息列表(给activiy 设置 android:windowSoftInputMode="adjustResize", 给 ListView设置android:transcriptMode="normal"),输入框获取焦点,有输入法弹出时,消息列表会挤压到上部,可见的list最后一条记录为之前未弹出输入法时的最后一条记录(可见的list最后一条记录,不一定是整个数据集合的最后一条数据,可能有滑动查看)

现在换成 RecyclerView后,不再有这个属性。 设置 RecyclerView#setStackFromEnd(true)时,当消息超过一屏,和之前listview效果一致;消息不足一屏,列表头部会出现大片空白部分(预期空白部分应该出现在列表下方,类似qq)。
另外,RecyclerView#setReverseLayout(true),可以倒置整个列表的排列,解决消息不足一屏时的空白位置的问题,但是这样需要对数据源进行倒序排列,且滑动定位等会出现问题,改动较大,有没有其他可以处理这种问题的方案?
...全文
529 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧