Android设备:外接扫码枪与系统软键盘问题

Android设备:外接扫码枪与系统软键盘问题

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"/>
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值