동작 탐색과의 호환성 보장

Android 10 (API 수준 29)부터 Android 시스템에서 완전한 동작 기반 탐색을 지원합니다. 앱이 이 기능과 호환되도록 하기 위해 앱 개발자가 취해야 할 두 가지 조치가 있습니다.

  • 앱 콘텐츠를 가장자리까지 더 넓게 확장합니다.
  • 충돌하는 앱 동작을 처리합니다.

또한 Android 13 (API 수준 33)에서는 휴대전화, 대형 화면, 폴더블과 같은 Android 기기의 뒤로 탐색 예측 동작을 도입합니다. 이 동작은 다년간 출시의 일부입니다. 앱 개발자는 앱이 뒤로 탐색 예측 동작을 지원하도록 조치를 취할 수 있습니다.

더 넓은 앱 콘텐츠 제공

플로팅 탐색 메뉴가 제공하는 추가 화면 공간을 활용하려면 앱에서 특정 변경사항을 구성해야 합니다.

자세한 내용은 앱에서 더 넓은 화면에 콘텐츠 표시를 참고하세요.

충돌하는 앱 동작 처리

동작 탐색 모델은 앱 개발자가 이전에 사용했던 동작과 충돌할 수 있습니다. 그러면 앱 사용자 인터페이스도 조정해야 할 수 있습니다.

뒤로 동작과 충돌

'뒤로'의 새로운 시스템 동작은 화면 왼쪽 또는 오른쪽 가장자리에서 안쪽으로 스와이프하는 것입니다. 이 동작은 해당 영역의 앱 탐색 요소에 방해가 될 수 있습니다. 화면 왼쪽 및 오른쪽 가장자리에 있는 요소의 기능을 유지하려면 터치 입력을 수신해야 하는 영역을 시스템에 표시하여 선택적으로 뒤로 동작을 선택 해제해야 합니다. 이렇게 하려면 Android 10에서 도입된 View.setSystemGestureExclusionRects() API에 List<Rect>를 전달하면 됩니다. 이 메서드는 androidx.core:core:1.1.0-dev01부터 ViewCompat에서도 사용할 수 있습니다.

예를 들면 다음과 같습니다.

Kotlin

var exclusionRects = listOf(rect1, rect2, rect3)

fun onLayout(
        changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

fun onDraw(canvas: Canvas) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

자바

List<Rect> exclusionRects;

public void onLayout(
        boolean changedCanvas, int left, int top, int right, int bottom) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

public void onDraw(Canvas canvas) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

홈 또는 퀵 스위치 동작과 충돌

홈/퀵 스위치를 위한 새로운 시스템 동작은 모두 이전에 탐색 메뉴에서 사용했던 공간의 화면 하단에서 스와이프하는 동작을 포함합니다. 뒤로 동작과 달리 앱에서는 이러한 동작을 선택 해제할 수 없습니다.

이 문제를 완화하기 위해 Android 10에서는 터치 인식 임곗값을 앱에 알려주는 WindowInsets.getMandatorySystemGestureInsets() API를 도입했습니다.

게임 및 뷰가 없는 기타 앱

뷰 계층 구조가 없는 게임 및 기타 앱에서는 사용자가 시스템 동작 영역 근처에서 스와이프해야 하는 경우가 많습니다. 이 경우 게임은 Window.setSystemGestureExclusionRects()를 사용하여 시스템 동작에 예약된 영역과 중첩되는 영역을 제외할 수 있습니다. 게임은 필요한 경우에만(예: 게임플레이 도중) 이러한 영역을 제외해야 합니다.

게임에서 사용자가 홈 동작 영역 근처에서 스와이프해야 한다면 앱은 몰입형 모드에서 레이아웃되도록 요청할 수 있습니다. 이렇게 하면 사용자가 게임과 상호작용하는 동안 시스템 동작이 사용 중지되지만, 사용자는 화면 하단에서 스와이프하여 시스템 동작을 다시 사용 설정할 수 있습니다.

뒤로 탐색 예측 동작을 지원하도록 앱 업데이트

Android 13(API 수준 33)에서는 휴대전화, 대형 화면, 폴더블과 같은 Android 기기의 뒤로 탐색 예측 동작을 제공합니다. 뒤로 탐색 예측 동작은 여러 해에 걸친 출시의 일부입니다. 이 기능을 완전히 구현하면 사용자는 뒤로 동작을 완료하기 전에 뒤로 동작의 대상이나 다른 결과를 미리 볼 수 있습니다. 이를 통해 사용자는 계속 진행할지 아니면 현재 뷰에 머무를지 결정할 수 있습니다.

자세한 내용은 뒤로 탐색 예측 동작 지원 추가를 참고하세요.

추가 리소스

동작 탐색에 관한 자세한 내용은 다음을 참고하세요.

블로그 게시물

동영상