我有以下情況: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