У меня следующая ситуация:
У меня есть собственный ListView с ImageView и TextView в ряд.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).
Надеюсь, я четко объяснил ..
Любые идеи, как это получитькоординаты относительно размера экрана?Спасибо.