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 기기의 뒤로 탐색 예측 동작을 제공합니다. 뒤로 탐색 예측 동작은 다년 출시 버전의 일부입니다. 이 기능을 완전히 구현하면 사용자는 뒤로 동작을 완료하기 전에 뒤로 동작의 대상이나 다른 결과를 미리 볼 수 있으므로 계속 진행할지 현재 뷰에 머무를지 결정할 수 있습니다.
자세한 내용은 뒤로 탐색 예측 동작 지원 추가를 참고하세요.
추가 리소스
동작 탐색에 관한 자세한 내용은 다음을 참고하세요.