Android設備:外接掃碼槍與系統軟鍵盤問題
- Q&A
Q&A
Q:掃碼槍掃碼后,自動調起系統軟鍵盤
A:掃碼槍相當于外接鍵盤,對于外接鍵盤不同的Android設備表現不同,一般我們期望外接鍵盤與系統鍵盤互斥,看廠商是否在Framework有做過適配處理,若要不彈出系統軟鍵盤,可禁用Activity軟鍵盤:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
解除禁用:
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
Q:掃碼槍掃碼后,自動彈出軟鍵盤,同時EditText顯示內容有丟失或代碼監聽掃碼事件,監聽到的KeyEvent.getKeyCode是KeyEvent.KEYCODE_ENTER
A:由于掃碼槍與系統軟鍵盤沖突,部分資料被系統軟鍵盤攔截,禁用可解決此問題,
Q:掃碼槍掃碼后,EditText失去焦點
A:掃到的碼最后一般帶有回車符,導致EditText失去焦點,可給EditText配置如下next系列屬性,使其下個焦點仍然指向自己:
<EditText
android:id="@+id/edit_scan_code"
android:layout_width="800px"
android:layout_height="200px"
android:textSize="50px"
android:nextFocusDown="@id/edit_scan_code"
android:nextFocusForward="@id/edit_scan_code"
android:nextFocusLeft="@id/edit_scan_code"
android:nextFocusRight="@id/edit_scan_code"
android:nextFocusUp="@id/edit_scan_code"
android:nextClusterForward="@id/edit_scan_code"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/264184.html
標籤:其他
上一篇:快讓你的App分20億吧!
