私は次の状況にあります:
ImageViewとTextViewが連続したカスタムListViewがあります。ImageViewにはonTouchListenerがあり、wchichは私の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を基準にした位置を返すことです(私はそう思います)。したがって、中央のアイテムに触れて指を上にスワイプすると、getYは負の値(ImageView境界より上)を返します。
願わくば、はっきりと説明しました。
画面サイズに対してこの座標を取得する方法はありますか?ありがとうございました。