Oprócz opcjonalnego wprowadzania danych, np. na ekranie klawiatury – Android obsługuje klawiatury fizyczne podłączone do urządzenia. O oferuje wygodny tryb wprowadzania tekstu oraz sposób poruszać się po aplikacji i wchodzić z nią w interakcję. Chociaż większość urządzeń przenośnych, takich jak Telefony używają dotyku jako głównego trybu interakcji, a tablety i podobne urządzenia są popularne i wielu użytkowników ma w zanadrzu akcesoria do klawiatur .
Ponieważ coraz więcej urządzeń z Androidem udostępnia tego rodzaju funkcje, ważne jest, zoptymalizowanie aplikacji pod kątem obsługi interakcji za pomocą klawiatury. Ten opisuje, jak można poprawić nawigację za pomocą klawiatury.
Testowanie aplikacji
Użytkownicy mogą już mieć możliwość poruszania się po Twojej aplikacji za pomocą klawiatury, ponieważ system Android domyślnie włącza większość niezbędnych działań.
Wszystkie interaktywne widżety udostępniane przez platformę Androida – takie jak
Button
i
EditText
– są
które można zaznaczyć. Użytkownicy mogą nawigować za pomocą urządzeń sterujących takich jak pad kierunkowy
klawiatury, a każdy widżet podświetla się lub w inny sposób zmienia wygląd,
powoduje skupienie się na danych wejściowych.
Aby przetestować aplikację, wykonaj te czynności:
- Zainstaluj aplikację na urządzeniu, które ma klawiaturę sprzętową.
Jeśli nie masz urządzenia z klawiaturą, połącz się przez Bluetooth klawiatury lub USB.
Możesz też użyć emulatora Androida:
- W Menedżerze AVD kliknij Nowe urządzenie lub wybierz istniejącego profilu i kliknij Sklonuj.
- W wyświetlonym oknie sprawdź, czy Klawiatura i pad kierunkowy są .
- Aby przetestować aplikację, poruszaj się po sekcji za pomocą klawisza Tab
Interfejs. Upewnij się, że wszystkie elementy sterujące UI są skoncentrowane zgodnie z oczekiwaniami.
Poszukaj przypadków, w których zaznaczenie przesuwa się w nieoczekiwanym miejscu w dobrym stylu.
- Zacznij od początku aplikacji i poruszaj się po interfejsie
za pomocą elementów sterujących, np. klawiszy strzałek na klawiaturze. Z każdej
element, który można zaznaczyć, naciśnij w górę, w dół,
Lewo i W prawo.
Poszukaj przypadków, w których zaznaczenie przesuwa się w nieoczekiwanym miejscu w dobrym stylu.
Jeśli natrafisz na nawigowanie przy użyciu klawisza Tab lub elementy sterujące kierunku nie działają zgodnie z oczekiwaniami. Określ, gdzie należy ustawić ostrość. w układzie, co zostało omówione w kolejnych sekcjach.
Uchwyć nawigację po kartach
Gdy użytkownik porusza się po aplikacji za pomocą klawisza Tab na klawiaturze, system przekazuje fokus danych wejściowych między elementami na podstawie kolejności, w jakiej się znajdują pojawi się w układzie. Jeśli np. używasz układu względnego i kolejność kolejność elementów na ekranie różni się od ich kolejności w pliku, może być konieczne ręczne określenie kolejności fokusu.
Na przykład w tym układzie 2 przyciski są wyrównane do prawej
a pole tekstowe jest wyrównane po lewej stronie drugiego przycisku. Aby zaliczyć
z pierwszego przycisku do pola tekstowego, a następnie do drugiego przycisku,
musi mieć jawnie zdefiniowanie kolejności zaznaczenia każdego elementu,
elementy z atrybutami
android:nextFocusForward
.
<androidx.constraintlayout.widget.ConstraintLayout ...> <Button android:id="@+id/button1" android:nextFocusForward="@+id/editText1" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" ... /> <Button android:id="@+id/button2" android:nextFocusForward="@+id/button1" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/button1" ... /> <EditText android:id="@id/editText1" android:nextFocusForward="@+id/button2" app:layout_constraintBottom_toBottomOf="@+id/button2" app:layout_constraintRight_toLeftOf="@id/button2 ... /> ... </androidx.constraintlayout.widget.ConstraintLayout>
Zamiast przenosić ostrość z widoku button1
na
button2
, a potem editText1
, prawidłowo się porusza
według wyglądu na ekranie: od button1
do
editText1
, a potem button2
.
Włącz nawigację kierunkową
Użytkownicy mogą też poruszać się po aplikacji za pomocą klawiszy strzałek na klawiaturze, działa tak samo jak przy użyciu pada kierunkowego lub kulki. System podaje „najlepszą odpowiedź”, który widok ma zostać wyróżniony w danym kierunku. w zależności od układu wyświetlanego na ekranie. Czasami jednak system mylić się.
Jeśli system nie ustawi fokusu na odpowiedni widok podczas nawigacji w danym kierunku, określ, który widok musi być zaznaczony w następujący sposób: atrybuty:
Każdy atrybut wyznacza następny widok, który ma zostać zaznaczony, przechodzi w tym kierunku, zgodnie z identyfikatorem widoku. Widać to w następujący przykład:
<Button android:id="@+id/button1" android:nextFocusRight="@+id/button2" android:nextFocusDown="@+id/editText1" ... /> <Button android:id="@id/button2" android:nextFocusLeft="@id/button1" android:nextFocusDown="@id/editText1" ... /> <EditText android:id="@id/editText1" android:nextFocusUp="@id/button1" ... />
Dodatkowe materiały
Zapoznaj się z tymi powiązanymi materiałami: