Xamarin.Android でのタッチとジェスチャ

今日のデバイスの多くでタッチ スクリーンを使用すると、ユーザーは自然で直感的な方法でデバイスを迅速かつ効率的に操作できます。 この操作は、単純なタッチ検出だけに限定されず、ジェスチャも使用することが可能です。 たとえば、ピンチしてズームするジェスチャは、これの非常に一般的な例です。ユーザーは 2 本の指で画面の一部をピンチすることで、ズームインまたはズームアウトできます。このガイドでは、Android でのタッチとジェスチャについて説明します。

タッチの概要

iOS と Android は、タッチの処理方法に似ています。 どちらもマルチタッチ (画面上の複数の接触ポイント) と複雑なジェスチャをサポートできます。 このガイドでは、概念の類似点の一部と、両方のプラットフォームでタッチとジェスチャを実装する特異点について説明します。

Android は MotionEvent オブジェクトを使用してタッチ データをカプセル化し、View オブジェクトのメソッドを使用してタッチをリッスンします。

iOS は、タッチ データのキャプチャに加えて、iOS と Android の両方で、タッチのパターンをジェスチャに解釈する手段が提供されます。 一方、これらのジェスチャ認識エンジンを使用すると、画像の回転やページの回転など、アプリケーション固有のコマンドを解釈できます。 Android には、いくつかのサポートされているジェスチャと、複雑なカスタム ジェスチャを簡単に追加するためのリソースが用意されています。

Android で作業しているか iOS で作業しているかに関係なく、タッチ認識とジェスチャ認識機能のどちらを選択するかは混乱を招く可能性があります。 このガイドでは、一般的にジェスチャ認識エンジンを優先することをお勧めします。 ジェスチャ認識エンジンは個別のクラスとして実装されるので、懸念事項の分離が進み、カプセル化が向上します。 これにより、さまざまなビュー間でロジックを簡単に共有できるため、記述されるコードの量が最小限に抑えられます。

このガイドは、各オペレーティング システムについて同様の形式に従っています。最初に、プラットフォームのタッチ API が紹介および説明されます。タッチ API はタッチ操作が構築される基盤であるためです。 次に、ジェスチャ認識エンジンの世界について説明します。まず、いくつかの一般的なジェスチャを調べ、アプリケーション用のカスタム ジェスチャを作成します。 最後に、低レベルのタッチ追跡を使用して個々の指を追跡し、FingerPaint プログラムを作成する方法について説明します。

セクション

まとめ

このガイドでは、Android でのタッチについて調べました。 どちらのオペレーティング システムでも、タッチを有効にする方法と、タッチ イベントに応答する方法について学習しました。 次に、Android と iOS の両方で、より一般的なシナリオの一部を処理するために提供されるジェスチャとジェスチャ認識エンジンの一部について学習しました。 カスタム ジェスチャを作成し、アプリケーションに実装する方法を調べました。 このチュートリアルでは、動作している各オペレーティング システムの概念と API を示し、個々の指を追跡する方法についても説明しました。