我有以下情况:
我有一个带有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返回相对于ListView中ImageView的位置,而不是相对于整个ListView的位置(我认为是这样)。因此,当我触摸中间的项并向上滑动手指时,getY返回负值(在ImageView边界之上)。
希望我解释得清楚。
有什么办法可以获得相对于屏幕尺寸的这些坐标呢? 谢谢。