2018年05月27日
MotionEventの使い方備忘録
・android.view.MotionEvent配下のリスナー
・入力イベントの取得
・・タッチ入力など
〇クラス図
onCreate()内で利用定義
<対象パーツ(スクリーン、ボタンなど)>.setOnTouchListener(new View.OnTouchListener(){
public boolean onTouchEvent(MotionEvent event) {
}
});
eventに入力状況が保存されている。
例えば、以下のように値を取得することで、画面に「触れた」「放した」、指を「スライドさせた」などの動作を取得することができる。
event.getAction()
eventから取得できる値を記載する。
マルチタッチに対応しており、複数の指の座標の取得が可能。
ただし、タッチ位置を取得するgetX()などの値には、1つの座標のみが取得可能。
スクリーンに初めに触れた指から0→1...と順に値が振られる。
スクリーンからすべての指を放した際に、振られた値はリセットされる。
(※マルチタッチ時は例外。放した指の値のみ解放される。)
- デバイス情報:getDevice
例えば、amazonのfire8で取得される情報は以下のようなものである。● Input Device(int): 入力したデバイスのID。機器ごとに決まる。
● Descriptor(string): 入力デバイスのディスクリプター
● Generation: デバイスの世代情報。fire8は"28"
● Location: fire8は"built-in"
● Keyboard Type: キーボード情報。タッチ入力の場合?"none"
● Has Vibrator: バイブ機能。タッチ入力の場合?"false"
● Source: タッチスクリーンの入力可能情報。
・AXIS_X: x方向(横、水平)のサイズ
・AXIS_Y: y方向(縦、垂直)のサイズ
・AXIS_PRESSURE: 感圧?
・AXIS_SIZE:
・AXIS_TOUCH_MAJIR:
・AXIS_TOUCH_MINOR:
・AXIS_TOOL_MAJIR:
・AXIS_TOOL_MINOR: - x方向のタッチ位置:getX
引数にintの値を入力することで、マルチタッチ時に複数の座標を取得することができる。
例)event.getX(1) - y方向のタッチ位置:getY
- タッチし始めた時間を取得:getDownTime
デバイス内部のシステム起動時間 - タッチ動作:getAction
それぞれ頭の[(int)]が返値。MotionEventの該当動作も記載。・[0] MotionEvent.ACTION_DOWN: 指一本のみ触れた
・[1] MotionEvent.ACTION_UP: 指一本のみで触れていた場合、指を放した
・[2] MotionEvent.ACTION_MOVE: 指一本のみで触れていた場合、指を動かした
・[?] MotionEvent.ACTION_CANCEL: タッチ操作では呼ばれない?
・[5] ???: 発生トリガー不明(複数本の指で触れていた時に、放すと取得されることもある)
・[6] ???: 発生トリガー不明(複数本の指で触れていた時に、放すと取得されることもある)
・[261] ???: 2本の指で触れた
・[262] ???: 2本の指で触れていたときに、指を1本放した
・[517] ???: 3本の指で触れた
・[518] ???: 3本の指で触れていたときに、指を1本放した
・[773] ???: 4本の指で触れた
・[774] ???: 4本の指で触れていたときに、指を1本放した
・[1029] ???: 5本の指で触れた
・[1030] ???: 5本の指で触れていたときに、指を1本放した
・[1285] ???: 6本の指で触れた
・[1541] ???: 7本の指で触れた
・[1797] ???: 8本の指で触れた
・[2053] ???: 9本の指で触れた
・[2309] ???: 10本の指で触れた
など
基本的な使い方はgoogleのページに記載されているので、そちらを確認してもらった方が確実とは思う。
(Google Developersはこちら)
---
【更新履歴】
180527:初期作成
180602:getActionの追記
180916:クラス図追加
![]() | 基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3.x対応 [ 森 洋之 ] 価格:2,970円 |
ロリポップ!レンタルサーバー!はあなたの「やってみたい!」を応援します!
ロリポップ!なら、ホームページ、ブログ、ネットショップ…
これらが今すぐ、そして簡単にできちゃう!
マニュアルやライブチャットを完備しているので、ホームページ初心者でも安心。
これだけついてるのに月額100円(税抜)~ととってもお得。
もちろん無料のお試し期間も10日間あるので安心ですね。
▼ロリポップ!レンタルサーバーはこちら

-
no image
-
no image
-
no image
-
no image
この記事へのトラックバックURL
https://fanblogs.jp/tb/7705778
※ブログオーナーが承認したトラックバックのみ表示されます。