微信朋友圈评论时被评论状态Item位置计算参考

mListView.setSelectionFromTop(position, y);

利用上述方法设置Item在ListView中的位置。
y为Item距离ListView顶端的距离,也就是图中的1;

计算方式:1 = 2 - 3 -4

坐标计算:

int[] location = new int[2];
view.getLocationOnScreen(location);

view为需要计算坐标的控件;
location[0] : x轴坐标

location[1] : y轴坐标

这里计算高度只需要y轴坐标;

坐标定义:屏幕的左上角坐标为(0,0);(x轴向右递增,y轴向下递增,单位都是像素)

空间的坐标都是基于控件的左上角而言;

ItemView的高度需要在评论按钮的onClick事件中传回。

注:在屏幕位置会发生变化的控件在获取坐标时需要进行一定的延时,否则获取的不准确。

大体思路就是这样。

原文地址:https://www.cnblogs.com/x-dev/p/3772352.html