【发布时间】:2011-09-08 09:28:48
【问题描述】:
我有以下情况:
我有一个带有 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 边界)。
希望,我解释清楚了..
任何想法如何获得这个相对于屏幕尺寸的坐标? 谢谢。
【问题讨论】:
标签: android coordinates motion