Zapewnienie zgodności z nawigacją przy użyciu gestów

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:

Posty na blogu

Filmy