0

ImageView に onTouchListener があり、event.getX() または getY() を使用します。私の目標は、画像を表示し、ユーザーが画像の特定の部分に触れたときにダイアログなどを起動することです。問題は、画面が異なると、画像ビューの同じ部分の X と Y の値が変わることです。

すべての画面でイベントの実際の位置をピクセル単位で取得するにはどうすればよいですか? たとえば、Android の顔を表示し、ユーザーが目をクリックしたときに何かをしたいと思います...

4

1 に答える 1

0

480x640 などの固定解像度を使用して、指定したポイントでタッチを検出するコードを記述します。次に、DisplayMetrics を使用して、アプリが実行されているデバイスの解像度を取得します。xScale と yScale (例: DisplayMetrics.widthPixels / 480) を計算し、x と y にこれらの倍率を掛けます。

于 2012-06-28T20:18:52.283 に答える