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"/>

更多相关文章

  1. EditText横屏时,弹出软件盘时不进行全屏
  2. 使用React Native开发Android手持机
  3. Android笔记Android基于事件监听器处理机制
  4. Android(安卓)软键盘控制弹出(很好使,自己写的,绝对能用)
  5. android EditText中inputType的属性列表
  6. android键盘隐藏
  7. android 使用contentobserver监听数据库内容变化
  8. android事件处理机制
  9. Android应用程序键盘(Keyboard)消息处理机制分析(一)

随机推荐

  1. Android(安卓)中文 API (36) ―― Toast
  2. Flex与Android共享Amfphp SERVICES下自己
  3. Android(安卓)上层界面到内核代码的完整
  4. Android解析XML的三种方式
  5. Android(安卓)如何查找最佳匹配资源
  6. Android实现简单字符驱动程序及测试
  7. android:inputType 属性及其支持的取值
  8. Android(安卓)输入法键盘和activity页面
  9. Android(安卓)布局
  10. Android(安卓)Layout XML属性