支援鍵盤導覽功能

除了軟式輸入法,例如螢幕上 鍵盤 - Android 支援連接到裝置的實體鍵盤。A 罩杯 鍵盤提供便利的文字輸入模式,可讓使用者 以及與應用程式互動的方式雖然大部分的手持裝置, 手機使用觸控功能做為互動、平板電腦等類似模式的主要模式 其中,許多使用者喜歡搭配鍵盤配件 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件

隨著越來越多的 Android 裝置提供這種使用體驗, ,方便您最佳化應用程式,支援鍵盤互動。這個 文件:說明如何使用鍵盤提升瀏覽體驗。

測試應用程式

使用者或許能以鍵盤瀏覽您的應用程式,因為 Android 系統預設會啟用大部分的必要行為。

Android 架構提供的所有互動式小工具,例如 「Button」和 EditText—為 可聚焦。因此,使用者可使用 D-Pad 或 調光或改變外觀 來獲得輸入關注

如要測試應用程式,請執行下列程序:

  1. 在提供實體鍵盤的裝置上安裝應用程式。

    如果您沒有具備鍵盤的硬體裝置,請連結藍牙 鍵盤或 USB 鍵盤。

    您也可以使用 Android 模擬器:

    1. 在 AVD Manager 中,按一下「New Device」或選取 現有設定檔,然後按一下「Clone」(複製)
    2. 在隨即顯示的視窗中,確認已勾選「鍵盤」和「DPad」
  2. 如要測試應用程式,請只用 Tab 鍵前往 第一種是使用無代碼解決方案 AutoML 透過使用者介面建立機器學習模型確認每個 UI 控制項都能正常聚焦。

    檢查焦點在未預期的情況下移動的所有例項 。

  3. 從頭開始,並瀏覽使用者介面。 使用鍵盤上的方向鍵等方向控制項每個 UI 中的可聚焦元素,請按向上向下鍵, 「Left」和「Right」

    檢查焦點在未預期的情況下移動的所有例項 。

如果遇到任何使用 Tab 鍵進行瀏覽的執行個體 或方向控制項無法正常運作,請指定焦點應移至何處 ,如以下各節所述。

處理分頁導覽

當使用者以鍵盤 Tab 鍵瀏覽您的應用程式時, 系統會根據元素產生輸入焦點的順序 也會出現在版面配置中舉例來說,如果您使用相對版面配置 畫面上的元素與檔案的順序不同 您可能需要手動指定焦點順序

舉例來說,在以下版面配置中,兩個按鈕靠右對齊 而文字欄位與第二個按鈕的左側對齊票證 將焦點從第一個按鈕移至文字欄位,再到第二個按鈕 版面配置需要為每個可聚焦項目明確定義焦點順序 含有 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>

現在,焦點並非從 button1 移至 button2editText1,會正確移動 根據螢幕外觀:從 button1editText1,之後是button2

處理方向導覽

使用者也可以透過鍵盤上的方向鍵瀏覽應用程式, 運作方式與使用 D-Pad 或軌跡球進行瀏覽時相同。系統 提供「最有可能的」以便將焦點放在特定方向的檢視區塊 而根據螢幕上的檢視畫面版面配置但有時候系統 猜錯了

如果系統在 來指定要接收焦點的檢視區塊,並設定如下 屬性:

每個屬性都會指定下一個要接收焦點的檢視畫面 以該方向瀏覽,如資料檢視 ID 所指定。這會顯示在 範例:

<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"
    ...  />
敬上

其他資源

請參閱下列相關資源: