私はここ数時間以来、私が必死に理解しようとしている本当の問題を抱えています. どこにも行きません...
画面上の 2 本の指の正確な位置を処理する必要があるアプリケーションを作成しているときに、(私にとっては) 予期しない動作に遭遇しました。いくつかのデバッグの後、1 本の指を画面上の静止位置に保ち、別の指で同じ画面上をスライドさせると、動いている指だけでなく静止している指の座標も変化することがわかりました。(実生活ではありませんが:D)
y 座標のみのログ出力の例を次に示します。
y(0) は画面の下部に保持された静的な指であり、
y(1) は上から下に移動していました。
画面の下部に到達する前に y(1) が最大の 480 に達したことも興味深いです。
誰かが私にこの振る舞いを説明してもらえますか?
ログを生成するために使用したコードは次のとおりです。おそらく私はばかげた間違いを犯しました...
編集:「htc の欲望」でテストされています。
@Override
public boolean onTouchEvent( MotionEvent e ) {
String s = "";
for ( int i = 0; i < e.getPointerCount(); i++ ) {
s += "y(" + i + ")=" + (int)e.getY( i ) + " ";
}
Log.d( "some tag", s );
return true;
}
- 09-11 17:57:09.257: D/TouchHandler(14932): y(0)=480
- 09-11 17:57:09.267: D/TouchHandler(14932): y(0)=480 y(1)=5
- 09-11 17:57:09.287: D/TouchHandler(14932): y(0)=480 y(1)=10
- 09-11 17:57:09.327: D/TouchHandler(14932): y(0)=480 y(1)=30
- 09-11 17:57:09.367: D/TouchHandler(14932): y(0)=480 y(1)=70
- 09-11 17:57:09.427: D/TouchHandler(14932): y(0)=480 y(1)=121
- 09-11 17:57:09.528: D/TouchHandler(14932): y(0)=480 y(1)=206
- 09-11 17:57:09.608: D/TouchHandler(14932): y(0)=480 y(1)=271
- 09-11 17:57:09.618: D/TouchHandler(14932): y(0)=480 y(1)=281
- 09-11 17:57:09.628: D/TouchHandler(14932): y(0)=447 y(1)=293
- 09-11 17:57:09.638: D/TouchHandler(14932): y(0)=447 y(1)=304
- 09-11 17:57:09.658: D/TouchHandler(14932): y(0)=428 y(1)=311
- 09-11 17:57:09.668: D/TouchHandler(14932): y(0)=419 y(1)=317
- 09-11 17:57:09.678: D/TouchHandler(14932): y(0)=415 y(1)=325
- 09-11 17:57:09.688: D/TouchHandler(14932): y(0)=413 y(1)=333
- 09-11 17:57:09.698: D/TouchHandler(14932): y(0)=411 y(1)=351
- 09-11 17:57:09.708: D/TouchHandler(14932): y(0)=411 y(1)=363
- 09-11 17:57:09.718: D/TouchHandler(14932): y(0)=411 y(1)=373
- 09-11 17:57:09.728: D/TouchHandler(14932): y(0)=411 y(1)=383
- 09-11 17:57:09.748: D/TouchHandler(14932): y(0)=480 y(1)=480
- 09-11 17:57:09.758: D/TouchHandler(14932): y(0)=459 y(1)=438
- 09-11 17:57:09.768: D/TouchHandler(14932): y(0)=459 y(1)=432
- 09-11 17:57:09.778: D/TouchHandler(14932): y(0)=445 y(1)=431
- 09-11 17:57:09.788: D/TouchHandler(14932): y(0)=439 y(1)=432
- 09-11 17:57:09.798: D/TouchHandler(14932): y(0)=437 y(1)=436
- 09-11 17:57:09.818: D/TouchHandler(14932): y(0)=439 y(1)=441
- 09-11 17:57:09.828: D/TouchHandler(14932): y(0)=443 y(1)=447
- 09-11 17:57:09.838: D/TouchHandler(14932): y(0)=450 y(1)=456
- 09-11 17:57:09.838: D/TouchHandler(14932): y(0)=459 y(1)=467
- 09-11 17:57:09.858: D/TouchHandler(14932): y(0)=469 y(1)=480
- 09-11 17:57:09.868: D/TouchHandler(14932): y(0)=476 y(1)=480
- 09-11 17:57:09.878: D/TouchHandler(14932): y(0)=479 y(1)=480
- 09-11 17:57:09.888: D/TouchHandler(14932): y(0)=480 y(1)=480