Android使用RecyclerView实现消息发送界面时解决输入框遮挡消息

本文介绍了解决在使用RecyclerView时输入框遮挡已发送消息的问题,并提供了代码实现,确保每次发送消息后都能自动滚动到底部,避免遮挡。

在做一些项目时可能会要求进行实时消息接收功能的实现,这时一般会实现RecyclerView或者ListView来进行界面设计,但是在输入消息时会发现输入框会遮盖发送过的消息,而且发送消息之后无法定位到最后一行;
如果想要将解决输入框的遮蔽问题很简单,只用在代码中加入下面这一行代码就可以:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
在这里插入图片描述
但是你加入这一行之后你会发现你每次第一次输入时输入框遮挡消息问题是解决了,但是你在发送消息时候它还是会再次遮挡你刚刚发送过的消息;
第一次输入时
第二次输入时
从这里可以看到第二次输入时就被遮挡了,要解决遮挡就要将RecyclerView定位到最后一个item,这样就可以解决这个问题
RecyclerView.scrollToPosition(a);

效果:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值