Android EditText仅限硬件键盘

时间:2016-12-23 19:46:20

标签: android android-edittext

我想使用EditText作为条码扫描器的输入。

条形码扫描仪就像物理键盘一样。

  1. 我扫描条形码

  2. 键入条形码,如外部键盘,最后输入

  3. 我有一个EditText,应始终关注但从不显示 软件键盘。我不想完全停用键盘,因为它需要在不同的EditText上的同一个类中。

    <EditText
                android:id="@+id/barcodeText"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:ems="10"
                android:singleLine="true"
                android:cursorVisible="false"
                android:gravity="center"
                android:background="#00000000"
                android:textColor="@color/secondary_text"
                 >
    

2 个答案:

答案 0 :(得分:1)

然后使用TextChange Listener作为您的Edittext。喜欢这个

  editText.setInputType(InputType.TYPE_NULL);
  editText.requestFocus();
  editText.addTextChangedListener(new TextWatcher() {

@Override
   public void afterTextChanged(Editable s) {}

   @Override    
   public void beforeTextChanged(CharSequence s, int start,
     int count, int after) {
   }

   @Override    
   public void onTextChanged(CharSequence s, int start,
     int before, int count) {
      if(s.length() != 0)
                  //  Your action
   }
  });

答案 1 :(得分:0)

请尝试使用此属性

android:inputType="none"