美文网首页
EditText篇

EditText篇

作者: 岛在深海处 | 来源:发表于2017-02-15 20:42 被阅读0次
    1.EditText点击设置调用数字键盘且可输入字母的方法
    布局
    
         <EditText
                android:id="@+id/limit_edittext"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="@dimen/dimen_basic4"
                android:ellipsize="end"
                android:hint="哈哈哈"
                android:singleLine="true" />
    代码
    
        EditText editText = (EditText) findViewById(R.id.limit_edittext);
        String digists = "0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        editText.setKeyListener(DigitsKeyListener.getInstance(digists));
    
    2.在某个事件触发后自动弹出软键盘,如从语音切换到文字操作时,要自动弹出软键盘。具体方法如下:
     et_comment.requestFocus();InputMethodManager imm =         (InputMethodManager) et_comment.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
     imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
    
    如果从文字切换到语音(或者点击Button),需要隐藏软件盘
     InputMethodManager mInputMethodManager =
              (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
      mInputMethodManager.hideSoftInputFromWindow(mDemoBinding.editPhone.getWindowToken(),
                    0);        
    //mDemoBinding.editPhone 为EditText.getWindowToken();
    
    3.android:ems="10"

    设置TextView或者Edittext的宽度为10个字符的宽度。当设置该属性后,控件显示的长度就为10个字符的长度,超出的部分将不显示

    4.android:imeOptions="actionSearch"

    使用android:imeOptions="actionSearch"时必须加上android:inputType=" "这个属性否则没有效果

      //监听软键盘的搜索按钮
      private void initSearchInputListener() {
            binding.get().input.setOnEditorActionListener((v, actionId, event) -> {
                if (actionId == EditorInfo.IME_ACTION_SEARCH) { //布局文件中指定了input输入框为搜索类型。
                    doSearch(v);
                    return true;
                }
                return false;
            });
            binding.get().input.setOnKeyListener((v, keyCode, event) -> {
                if ((event.getAction() == KeyEvent.ACTION_DOWN)
                        && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                    doSearch(v);
                    return true;
                }
                return false;
            });
        }
    

    相关文章

      网友评论

          本文标题:EditText篇

          本文链接:https://www.haomeiwen.com/subject/marzettx.html