我有以下情况:MotionEvent杰蒂()和信息getX()返回不正确的值
我有连续的ImageView和TextView的一个自定义的ListView。 ImageView有一个onTouchListener,它会调用我的onTouch方法。下面是从它的一些线路:
if (event.getAction()==MotionEvent.ACTION_MOVE) {
layout.leftMargin = (int) event.getX() - dragIcon.getWidth()/2;
layout.topMargin = (int) event.getY() - dragIcon.getHeight()/2;
//Log.d("Tag", "Pozycja: " + event.getX() +", "+ event.getY());
}
dragIcon.setLayoutParams(layout);
当检测移动我展示了新的图像(未此ListView中)和我开始根据x和y坐标来移动它。
问题是,getX和getY返回相对于列表中的ImageView的位置,而不是整个ListView(我认为是这样)。所以当我触摸中间的一个项目并向上滑动手指时,getY返回负值(在ImageView边界之上)。
希望,我解释清楚..
任何想法如何得到这个坐标相对于屏幕尺寸是多少? 谢谢。
另请参见[MotionEvent.getRawX和MotionEvent.getX之间的区别](http://stackoverflow.com/questions/20636163/difference-between-motionevent-getrawx-and-motionevent-getx) – Suragch 2016-09-20 07:23:22