LoginSignup
2
1

More than 3 years have passed since last update.

Android10で戻るジェスチャーを一部無効にする

Last updated at Posted at 2019-09-11

はじめに

Android10がリリースされてバックキーが無くなり、エッジをスワイプすることでバックキーと同じ動作が可能になりました。
本稿ではエッジをスワイプし自前のUIを動かしたい時にバックの挙動を無効にする方法を紹介します。

実装

sampleFragment.kt
//バックの挙動を無効にしたいView
val view: View = findViewById(R.id.view)
//対象のViewのバックを無効にしたい範囲
val rect = Rect(0, 0, 100, 100)
//バック動作無効の設定
view.systemGestureExclusionRects = listOf(rect)

Android10から追加されたsetSystemGestureExclusionRects()メソッドをViewに対して設定します。
Viewの中で無効にしたい範囲(例だとViewの左上から縦横100px)を定義して引数とします。
この時Rectはlistで渡すので複数の範囲を指定することができます。

以上、この実装により指定したViewの範囲ではスワイプバックの挙動が無効になり自前で実装したジェスチャーが動きます。

参考

Android Developers

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1