类似于QQ控件和微信朋友圈的的评论效果,点击回复,会保持输入框在当前回复的内容下面,
一,效果图。
GIF.gif二,实现思路。
当点击item的时候,获取当前item距离屏幕顶部的距离。然后在输入法弹出来后,得到输入法距离顶部的距离。这两个距离差就是 recycleView要滑动的距离。
三,具体实现
/**
* //滑动recycleview 当前回复的item保持在输入法上面
* @param position
*/
private void scrollRecycle(int position){
//得到当前item的view 好获取高度
View itemView=layoutManager.findViewByPosition(position);
int[] position1 = new int[2];
itemView.getLocationOnScreen(position1);
//因为输入法弹出需要一定时间,所以延时计算
new Handler().postDelayed(() -> {
int[] position2 = new int[2];
ll_comment_edit.getLocationOnScreen(position2);
rv_bag.scrollBy(0,position1[1]-position2[1]+itemView.getHeight());//滑动RecycleView
}, 500);
}
想必都看到懂,在点击评论的时候调用了这个方法就可以了。
网友评论