タッチイベントの仕組みを理解してジェスチャーを使いこなそう

Composeにはタッチイベントやジェスチャーを検出するAPIが用意されています。このAPIを適切に組み合わせれば、簡単にジェスチャーを実装できます。 しかし、独自のジェスチャーを実装するには、タッチイベントの仕組みの理解が必要です。さらに、重なったコンポーザブル同士でジェスチャーが競合する状況では、意図通りにジェスチャーを動作させるための難易度が高くなります。 このセッションでは、タッチイベントの仕組みを説明し、意図通りにジェスチャーを動作させるノウハウをお伝えします。独自ジェスチャーの実装方法や、コンポーザブル間のジェスチャーの競合を回避する方法を説明し、はまりやすい落とし穴も紹介します。 セッションの中では、私が開発して公開しているZoomableというライブラリを実例として紹介します。Zoomableはジェスチャーによる画像のズームを可能にするComposeのライブラリです。独自ジェスシャーを実装し、親のコンポーザブルとジェスチャーが競合しないように工夫しています。主に想定しているのは、画像をPagerの上に配置するユースケースです。画像に対するピンチジェスチャーと、Pagerに対するスクロールジェスチャーの両方が意図通りに動作するように設計しています。 このセッションを通じてタッチイベントについて理解を深めて、ジェスチャーを意図通りに制御できるようになりましょう。 内容: - ジェスチャーの実現方法 - onClickなどの簡単なAPI - detectGestures APIを利用する方法 - ジェスチャー検出処理を自作する方法 - イベントの仕組み - イベントの伝わり方 - イベントを共有・占有する方法 - タップとスクロールを区別する方法 - タッチイベントがキャンセルされた時の対応 - Fling(慣性)動作の実現方法

  • usuiat Android Engineer

発表資料を見る

概要

  • 日時 2024.09.13 / 16:20 ~ 17:00 (40min)
  • 場所 Giraffe
  • 言語 日本語

対象者

Composeのタッチイベントやジェスチャーについて理解を深めたい人 ジェスチャーが意図通りに動作せず困っている人

Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android、Google Play、Google Play ロゴは、Google Inc. の商標です。
これまでのDroidKaigi

© 2014- DroidKaigi 実行委員会