目前我正在開發一款使用條形碼掃描器掃描條形碼的應用程序。條碼閱讀器被android識別爲硬件鍵盤。這工作正常,我可以閱讀條碼。但是當我閱讀條形碼時,AppBar中的漢堡變得聚焦(見屏幕截圖)。 如何擺脫焦點標記?我試圖將焦點設置爲其他控件,但這不起作用。是否可以重寫焦點標記的樣式?Android-UI:使用硬件鍵盤/條碼掃描器時無焦點標記
截圖:http://postimg.org/image/7zmzzhstx/
目前我正在開發一款使用條形碼掃描器掃描條形碼的應用程序。條碼閱讀器被android識別爲硬件鍵盤。這工作正常,我可以閱讀條碼。但是當我閱讀條形碼時,AppBar中的漢堡變得聚焦(見屏幕截圖)。 如何擺脫焦點標記?我試圖將焦點設置爲其他控件,但這不起作用。是否可以重寫焦點標記的樣式?Android-UI:使用硬件鍵盤/條碼掃描器時無焦點標記
截圖:http://postimg.org/image/7zmzzhstx/
對這個問題的工作後,我再次發現這對我來說工作得很好的解決方案。也許這可以幫助別人:
在我的活動中,我重寫了公共布爾dispatchKeyEvent(KeyEvent事件)方法來處理來自條碼掃描器的輸入。我現在添加了以下代碼行:
containerContent.requestFocus();
containerContent控件只是一個FrameLayout,我的碎片託管在哪裏。我在發佈這個問題之前就已經嘗試過了。但它不工作,因爲FrameLayout是「不允許」請求焦點。現在,我還修改了我的佈局XML:
<FrameLayout
android:id="@+id/containerMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true">
</FrameLayout>
添加了android:focusable="true"
和android:focusableInTouchMode="true"
和現在的作品!