2016-03-21 25 views
1

現時点では、バーコードリーダーを使用してバーコードをスキャンするアプリを開発しています。バーコードリーダーはアンドロイドによってハードウェアキーボードとして認識されます。それはうまく動作し、私はバーコードを読み取ることができます。しかし、私がバーコードを読んだときに、AppBarのハンバーガーに焦点が当てられました(スクリーンショット参照)。 フォーカスマーカーを削除するにはどうすればよいですか?フォーカスを他のコントロールに設定しようとしましたが、機能しません。フォーカスマーカーのスタイルをオーバーライドすることは可能ですか?Android-UI:ハードウェアキーボード/バーコードスキャナを使用しているときにフォーカスマーカーがありません

スクリーンショット:http://postimg.org/image/7zmzzhstx/

答えて

1

は再びその問題に取り組んした後、私は私のために正常に動作解決策を見つけました。

私の活動では、バーコードスキャナからの入力を処理するために、public boolean dispatchKeyEvent(KeyEvent event)メソッドをオーバーライドします。次のコード行を追加しました。

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"を追加しましたし、今では動作します!

関連する問題