<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                > 編寫:[zhaochunqi](https://github.com/zhaochunqi) - 原文:[http://developer.android.com/training/keyboard-input/navigation.html](http://developer.android.com/training/keyboard-input/navigation.html) 除了軟鍵盤輸入法(如屏幕鍵盤)以外,Android支持物理鍵盤連接到設備上。一個鍵盤不僅提供為文本輸入提供方便地模式,而提供一個合適的方法來導航和與應用交互。盡管多數的手持設備像手機使用觸摸作為主要的交互方式,平板和一些其他的設備正在逐步流行起來,許多用戶喜歡外接鍵盤。 隨著更多的Android設備提供這種體驗,為你的應用添加通過鍵盤進行交互的支持優化是很重要的。這節課介紹了怎樣為鍵盤導航提供更好的支持。 > **注意:**對那些沒有使用可見導航提示的應用來說,在應用中支持方向性的導航對于應用的可用性也是很重要的。完全支持方向性導航在你的應用中還可以幫助你使用諸如[uiautomator](http://developer.android.com/tools/help/uiautomator/index.html)進行[自動化用戶界面測試化](http://developer.android.com/tools/testing/testing_ui.html)。 ### 測試你的應用 可能用戶已經可以在你的應用中使用鍵盤導航了,因為Android系統默認開啟了大多是必要的行為。 所有由Android framework(如Button和EditText) 提供的交互 widgets是可獲得焦點的。這意味著用戶可以使手控設備如D-pad或鍵盤或widgets發亮或者其他一些獲得輸入焦點的行為改變外觀。 為了測試你的應用: 1. 在實體鍵盤的設備上安裝你的應用 如果你沒有帶實體鍵盤的設備,連接一個藍牙鍵盤或者USB鍵盤(盡管并不是所有的設備都支持USB連接) 你還可以使用Android虛擬機 1. 在AVD管理器中,或者點擊New Device或者選擇一個已存在的文檔點擊Clone. 1. 在出現的窗口中,確保鍵盤和D-pad開啟。 1. 為了驗證你的應用,只是用Tab鍵來進行UI導航,確保每一個UI控制的焦點如預期的一致。查看每個不在預期焦點的實例。 1. 從頭開始,使用方向鍵(鍵盤上的箭頭鍵)來控制你應用的導航。從每一個在你UI中的焦點元素,按上、下、左、右。查看每個不在預期焦點的實例 如果你遇到任何使用Tab鍵或方向鍵不如預期,在布局文件中指定應該的焦點,如下面幾部分所討論的。 ### 處理Tab導航 當一個用戶使用鍵盤上到Tab鍵導航到你的應用時,系統會在元素之間傳遞焦點,取決于他們在布局文件中的顯示順序。如果你使用相對布局,在屏幕上的元素順序與文件中元素的順序不一致,那樣你可能需要手動的指定焦點順序。 舉例來說,在下面的布局文件中,兩個對其右邊的按鈕和一個對齊第二個按鈕導航。為了把焦點從第一個按鈕傳遞到文本域,然后再傳遞到第二個按鈕,布局文件需要清楚的為每一個可聚焦的元素定義焦點順序,使用屬性[android:nextFocusForward](http://developer.android.com/reference/android/view/View.html#attr_android:nextFocusForward): ~~~ <RelativeLayout ...> <Button android:id="@+id/button1" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:nextFocusForward="@+id/editText1" ... /> <Button android:id="@+id/button2" android:layout_below="@id/button1" android:nextFocusForward="@+id/button1" ... /> <EditText android:id="@id/editText1" android:layout_alignBottom="@+id/button2" android:layout_toLeftOf="@id/button2" android:nextFocusForward="@+id/button2" ... /> ... </RelativeLayout> ~~~ 現在焦點從button1到button2再到editText1改成了合適的按照出現在屏幕上順序到從button1到editText1再到button2. ### 處理直接的導航 用戶也能夠使用鍵盤上的方向鍵在你的app中導航(這種行為與在D-pad和軌跡球中的導航一致)。系統提供了一個最佳猜測對于哪個視圖應該給予焦點在一個基于方向的基于布局文件的在屏幕上展現的布局。然而有時,系統會猜測錯誤。 如果你的系統沒有傳遞焦點到合適的視圖中在導航到一個給定的視圖中的時候,指定一個視圖使用如下的屬性: - android:nextFocusUp - android:nextFocusDown - android:nextFocusLeft - android:nextFocusRight 每一個屬性設計了下一個接受焦點的視圖當用戶導航到那個方向時,如指定當view的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" ... /> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看