2011年10月30日日曜日

Androidでフリックイベント

どもども、Androidのフリックイベントについて調べてみました。

そもそも、フリックとはなんだろうっていう感じですが、
Androidのスマートフォンで、画面をドラッグした際のイベントですね。

iPhoneでのフリック入力が有名なところだと思います。

こちらのイベント処理を探す際に、『ドラッグ』なのか、『スクロール』なのか
色々な言葉で探してみたのですが、やはり『フリック』という表現が正しいと思われます。

ということで、今回は前回に作成したカレンダーのレイアウト画面にフリックのイベントを付けてみました。
やはり、カレンダーの場合左右にフリックして月が切り替わったら、
使いやすいかなと思いましてこのイベントを組んでみようと思います。
こちらの画面に対して、まずは、クリックした際のイベントを付与します。
View.OnTouchListenerをimplementsしたListenerクラスを作成して、
onTouch()メソッドをオーバーライドします。

こちらの中で、画面にタッチした際にevent.getAction()を取得すると、
MotionEvent.ACTION_DOWNが取得できるようです。

その後ドラッグした際には、MotionEvent.ACTION_UPまたはMotionEvent.ACTION_CANCEL
がevent.getAction()の際に取得できるようです。

そのMotionEvent.ACTION_DOWNイベント発生時のToastの表示が上記のようになります。
MotionEvent.ACTION_UPイベント発生時のToastの表示が上記のようになります。

それぞれ、X,Y軸などで動作を判断することで、左右上下を判断することができそうです。

今回は、Lost Link Search 開発日誌 - Android フリック操作の実装方法のサイトを参考にさせていただきました。

通常のWebシステムですと、ボタンによる制御が一般的ですが、
やはりAndroidですので、直感的な端末の傾きやタッチ&ドラッグなどの操作で
動かせたほうが使いやすさがでるのかもしれません。

今回の更新は以上で終わりにしたいと思います。

ではでは。

0 件のコメント:

コメントを投稿