zoukankan      html  css  js  c++  java
  • android 使EditText始终不弹出软键盘,并且有光标

    今天做一个功能,PDA扫描条码内容显示到文本框,但点击EditText时老是弹出软键盘,挡住了一些信息,体验很不好,网上找了很久终于找到最佳效果,参考https://blog.csdn.net/suowolegeca/article/details/49128939

    很多说直接设置et_emulator_qrcord.setInputType(InputType.TYPE_NULL); 确实不弹出软键盘,但是不显示光标,最重要是扫描条码也取不到数据,最终使用以下方法完美解决。

     // 获取文本框
      et_emulator_qrcord = (EditText) findViewById(R.id.et_emulator_qrcord);
      //禁止弹出软键盘,并且有光标
      if (android.os.Build.VERSION.SDK_INT <= 10) {
          et_emulator_qrcord.setInputType(InputType.TYPE_NULL);
       } else {
          getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
          try {
          //采用反射的方式,调用系统内部方法
             Class<EditText> cls = EditText.class;
             Method setSoftInputShownOnFocus;
             setSoftInputShownOnFocus = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
             setSoftInputShownOnFocus.setAccessible(true);
             setSoftInputShownOnFocus.invoke(et_emulator_qrcord, false);
           } catch (Exception e) {
             e.printStackTrace();
           }
       }
  • 相关阅读:
    MySQL性能优化
    mysql中OPTIMIZE TABLE的作用
    Linux中/usr与/var目录详解
    Mysql之EXPLAIN显示using filesort
    MySQL ALTER语法的运用方法 && 操作索引和字段
    NoSQL数据库的分布式算法&&memcache集群的实现
    linux用户权限
    hdoj1241 Oil Deposits
    ny42 一笔画问题
    ny20 吝啬的国度
  • 原文地址:https://www.cnblogs.com/Mrshuang11/p/13949783.html
Copyright © 2011-2022 走看看