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事件中传回。
注:在屏幕位置会发生变化的控件在获取坐标时需要进行一定的延时,否则获取的不准确。
大体思路就是这样。
微信朋友圈评论时被评论状态Item位置计算参考,布布扣,bubuko.com
原文:http://www.cnblogs.com/x-dev/p/3772352.html