10

次のことを理解するのに助けが必要です。

854x480ピクセルのディスプレイがあるとします。MotionEvent.getXメソッドとgetYメソッドがfloatを返すのはなぜですか?私の知る限り、ディスプレイ上のピクセルは離散整数であり、ディスプレイ上の0.5ピクセルのようなものはありません。

4

1 に答える 1

15

開発者ページから:

"指定されたポインター インデックスのこのイベントの X 座標を返します (このインデックスのポインター識別子を見つけるには、getPointerId(int) を使用します)。整数はピクセルです。サブピクセル精度の入力デバイスでは、値に分数が含まれる場合があります。 "

http://developer.android.com/reference/android/view/MotionEvent.html#getX()

そのため、一部のデバイスでは、タッチ スクリーンが単なるピクセル解像度よりも正確な場合があります。これは、Droid Eris などの低密度デバイスの場合、ほとんどの場合に当てはまると思います。

簡単に想像できるように、タッチスクリーンはスクリーンから完全に独立していると考えてください。たとえば、画面の解像度とは無関係に動作する 1 つのサイズの描画タブレットを使用する方法などです。たとえば、解像度が 1600x1200 の場合、ペンを 0.02 インチ動かすと 4 または 5 ピクセルの動きに相当するかもしれませんが、800x600 の画面では 2 または 3 しか動かないでしょう。 )

于 2010-09-03T22:47:33.523 に答える