Android Android Studio いろいろ プログラミング
タッチした座標を取得【Android】
タッチした座標を取得する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
public class MainActivity extends AppCompatActivity { private TextView tap = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //タッチ情報表示テキスト this.tap = (TextView)findViewById(R.id.tap_id); } @Override public boolean onTouchEvent(MotionEvent event) { // TODO 自動生成されたメソッド・スタブ int x = (int) event.getRawX(); //タッチしたX座標 int y = (int) event.getRawY(); //タッチしたY座標 tap.setText("X座標 "+x+"Y座標 " + y); return true; } |
今回はスクリーン上のタッチ座標をgetRawX()とgetRawY()で取得してテキストとして表示した。
ローカル座標を取得する場合はgetRawX()とgetRawY()をgetX()とgetY()にする。
スクリーン上の座標とローカル座標の違いは基準点がどこになるかの違いとなる。
スクリーン上の場合は文字通り端末のスクリーン左上が0,0の基準となる。
かわってローカル座標の基準点はeventを受け取ったviewの左上となるらしい。