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

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