2016-03-21 32 views
1

目前我正在開發一款使用條形碼掃描器掃描條形碼的應用程序。條碼閱讀器被android識別爲硬件鍵盤。這工作正常,我可以閱讀條碼。但是當我閱讀條形碼時,AppBar中的漢堡變得聚焦(見屏幕截圖)。 如何擺脫焦點標記?我試圖將焦點設置爲其他控件,但這不起作用。是否可以重寫焦點標記的樣式?Android-UI:使用硬件鍵盤/條碼掃描器時無焦點標記

截圖:http://postimg.org/image/7zmzzhstx/

回答

1

對這個問題的工作後,我再次發現這對我來說工作得很好的解決方案。也許這可以幫助別人:

在我的活動中,我重寫了公共布爾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"和現在的作品!