0

on touch イベントを使用して、ユーザーがタッチした位置を見つけました。次のコードを使用しました

@Override
    public boolean onTouch(View v, MotionEvent event) {

        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
              float x=event.getX();
              float y=event.getY();

              Log.d("MULTIPLE", "X=" + x + " Y=" + y);
         }
        return true;
     }

そして、位置に応じて、いくつかのメソッドが呼び出されます。

異なるデバイスでテストしたところ、x と y の値が変更されました。すべてのデバイスで x と y の一意の値を取得する方法はありますか

4

3 に答える 3

3

私はこれを次の方法で解決しました

デバイスの中間点は、この方法で見つけることができます

X=デバイス幅 * 0.5

Y=デバイスの高さ * 0.5

heightFactor と widthFactor として 0.5 を呼び出します

デバイス内のその他のポイントには、独自の heightFactor と widthFactor があります。

onTouch イベント (event.getX() と event.getY()) から X と Y の値を取得します。

heightFactor と widthFactor を見つけるには

heightFactor =X/デバイスの高さ

widthFactor=Y/デバイス幅

したがって、すべてのデバイスで同じになる各ポイントの heightFactor と widthFactor を取得します

于 2014-06-13T06:33:36.587 に答える
0

ontouch イベントを見つけることができます。developers.android.com がこのページでトレーニングを提供しています。こちらをご覧ください。

于 2014-06-09T09:09:20.610 に答える