下面以数字、电话为例讲述EditText怎么设置输入类型,其他类型可以参考InputType类。
1) 只能输入数字
代码如下 | 复制代码 |
EditText et = (EditText) findViewById(R.id.etTest); et.setInputType(InputType.TYPE_CLASS_NUMBER); |
2) 只能输入电话号码
代码如下 | 复制代码 |
EditText et = (EditText) findViewById(R.id.etTest); et.setInputType(InputType.TYPE_CLASS_PHONE);//电话 |
3) 邮箱地址
代码如下 | 复制代码 |
EditText et = (EditText) findViewById(R.id.etTest); et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); |
4) 禁止输入任何文本
代码如下 | 复制代码 |
EditText et = (EditText) findViewById(R.id.etTest); et.setInputType(InputType.TYPE_NULL); |
// 禁止输入(不弹出输入法)上述也是隐藏输入法的一种方式,还有另外一种隐藏办法,
可查看android隐藏IME(输入法)输入框
不让程序默认升起IME输入框有两种方法:
1.让EditText失去焦点,使用EditText的clearFocus方法
2.强制隐藏Android输入法窗口,在IME类中我们通过实例化输入法控制对象,通过hideSoftInputFromWindow来隐藏IME输入框。
代码
代码如下 | 复制代码 |
Toast.makeText(WindowBackgroundColorActivity.this, "焦点改变", Toast.LENGTH_SHORT).show(); InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); //第一种方法 //imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS); //第二种方法 imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); |
参考代码:
代码如下 | 复制代码 |
<EditText android:id="@+id/etTest" android:inputType="number" android:layout_width="wrap_content" android:layout_height="wrap_content"/> |
时间: 2024-12-25 10:11:36