Począwszy od Androida 10 (poziom interfejsu API 29), system Android w pełni obsługuje nawigacji przy użyciu gestów. Deweloperzy aplikacji muszą zrobić 2 rzeczy, aby mieć pewność, ich aplikacje są zgodne z tą funkcją:
- Rozszerz zawartość aplikacji od brzegu do krawędzi.
- Postępowanie w przypadku sprzecznych gestów w aplikacji.
Oprócz tego Android 13 (poziom API 33) wprowadza przewidujący gest wstecz na Androidzie. urządzeń takich jak telefony, duże ekrany i urządzenia składane, które wchodzą w skład wersji. Deweloperzy aplikacji mogą podjąć odpowiednie kroki, aby upewnić się, że ich aplikacje obsługują gest przewidywanego przejścia wstecz.
Zapewnianie wysokiej jakości treści w aplikacji
Aby wykorzystać dodatkową przestrzeń ekranu dostępną dla aplikacji pływającej paska nawigacyjnego, musisz skonfigurować określone zmiany w aplikacji.
Przeczytaj artykuł Wyświetlanie treści od krawędzi do krawędzi w aplikacji. .
Obsługa gestów w aplikacji będących w konflikcie
Model nawigacji przy użyciu gestów może kolidować z wcześniejszymi gestami używane przez deweloperów aplikacji. Konieczne może być dostosowanie ustawień użytkownika aplikacji interfejsu API,
Konflikt gestów cofania
Nowy gest systemowy dotyczący cofania się to przesunięcie do wewnątrz od lewej lub
przy prawej krawędzi ekranu. Może to zakłócać działanie elementów nawigacyjnych aplikacji w
tych obszarach. Aby zachować funkcjonalność elementów na lewej i prawej krawędzi
możesz wyłączyć selektywnie gest cofania, wskazując
w których regionach będą otrzymywać dotykowe wprowadzanie danych. Możesz to zrobić, przekazując parametr
List<Rect>
do: View.setSystemGestureExclusionRects()
Interfejs API wprowadzony w Androidzie 10. Ta metoda jest również dostępna w ViewCompat
od
androidx.core:core:1.1.0-dev01
Na przykład:
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) }
Java
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); }
Konflikt z gestami ekranu głównego lub gestami szybkiego przełączania
Nowe gesty systemowe w przypadku ekranu głównego i szybkiego przełączania obejmują przesuwanie palcem po ekranie do dołu ekranu w obszarze, który wcześniej zajmował pasek nawigacyjny. aplikacji; nie mogą zrezygnować z tych gestów, podobnie jak w przypadku gestu cofania.
Aby temu zapobiec, w Androidzie 10 wprowadziliśmy
WindowInsets.getMandatorySystemGestureInsets()
API, który informuje aplikacje o progach rozpoznawania dotyku.
Gry i inne aplikacje niewymagające wyświetlania
Gry i inne aplikacje bez hierarchii widoków często wymagają od użytkownika
przesuń palcem w pobliżu obszarów gestów systemowych. W takich przypadkach gry mogą korzystać z funkcji
Window.setSystemGestureExclusionRects()
, by wykluczyć obszary nakładające się na obszary zarezerwowane na gesty systemowe. Gry
należy wykluczyć te obszary tylko w razie potrzeby, np. podczas
gry.
Jeśli gra wymaga od użytkownika przesunięcia palcem w pobliżu obszaru gestów w domu, aplikacja może żądania rozmieszczenia w trybie pojemnym. Spowoduje to wyłączenie gestów systemowych gdy użytkownik wchodzi w interakcję z grą, ale pozwala mu ponownie włączyć wykonać gesty systemowe, przesuwając palcem z dołu ekranu.
Zaktualizuj aplikację, aby obsługiwać gest przewidywanego przejścia wstecz
Android 13 (poziom interfejsu API 33) wprowadza w Androidzie gest przewidywania gestu cofania na urządzeniach takich jak telefony, duże ekrany i urządzenia składane. Przewidywanie wsteczne gesty są częścią wieloletniej wersji. Po pełnym wdrożeniu ta funkcja pozwala użytkownikom wyświetlić podgląd miejsca docelowego lub innego wyniku gestu cofania, w pełni je kończą, pozwalając im zdecydować, czy chcą kontynuować, czy też zostać w bieżącym widoku.
Zobacz Dodano obsługę gestu przewidywania tekstu wstecz .
Dodatkowe materiały
Więcej informacji o nawigacji przy użyciu gestów: