Skip to content

手势导航

字数统计:约 6000 字
难度等级:⭐⭐
面试重要度:⭐⭐


目录

  1. 手势导航简介
  2. 配置手势
  3. 手势处理
  4. 与返回键整合
  5. 面试考点

1. 手势导航简介

1.1 什么是手势导航

Android 10+ 引入的手势导航:
- 底部手势条
- 滑动返回
- 返回桌面
- 切换应用

1.2 手势类型

- 从底部上滑 → 返回主页
- 从边缘滑动 → 返回
- 底部长按 → 最近任务

2. 配置手势

xml
<!-- 确保窗口适配 -->
<item name="android:windowLayoutInDisplayCutoutMode" />
<item name="android:enforceSizeCompat" />
kotlin
// 检测手势导航
fun isGestureNavigationEnabled(context: Context): Boolean {
    val uiManager = context.getSystemService(Context.UI_SERVICE) as? UiManager
    return uiManager?.isInTouchSwipeZone == true
}

3. 手势处理

kotlin
// 处理返回手势
override fun onBackPressed() {
    // 手势自动处理
    super.onBackPressed()
}

4. 与返回键整合

kotlin
// 使用 onBackPressedDispatcher
onBackPressedDispatcher.addCallback(this) {
    if (canGoBack()) {
        goBack()
    } else {
        finish()
    }
}

5. 面试考点

Q1: 手势导航的优势?

  • 直观
  • 节省空间
  • 符合用户习惯

本文完