标签:
自动弹出输入法
弹出窗口时自动让控件获取焦点,并弹出输入法。
注意要在onCreate中法中设置,不能在onResume中设置。et.requestFocus();new Timer().schedule(new TimerTask() {//Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。//它可以计划执行一个任务一次或反复多次。TimerTask是一个抽象类,它的子类代表一个可以被Timer计划的任务。@Overridepublic void run() {//300毫秒后,通过输入法管理器,切换输入法的显示状态InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);//切换输入法}}, 300);
不许手动换行
不允许手动换行,但允许自动换行mEditText.setOnEditorActionListener(new OnEditorActionListener() {@Overridepublic boolean onEditorAction(TextView v, int actionId, KeyEvent event) {return (event.getKeyCode() == KeyEvent.KEYCODE_ENTER);}});
设置输入类型
et.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);//密码类型et.setInputType(InputType.TYPE_CLASS_PHONE);//只能输入电话号码et.setInputType(InputType.TYPE_CLASS_NUMBER);//只能输入数字et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);//只能输入邮箱地址et.setInputType(InputType.TYPE_NULL); //禁止输入(不弹出输入法)android:inputType="textPassword"
设置错误提示
et.setError("邮箱");
自定义图标Drawable dr = getResources().getDrawable(R.drawable.ic_launcher); dr.setBounds(0, 0, 10, 10); //必须设置大小,否则不显示 et.setError("有错误提示", dr);
内容监听器
内容监听器TextWatcher定义的方法onTextChanged的参数的含义public void onTextChanged(CharSequence charSequence, int start, int before, int count) {//text 改变后输入框中的字符串//start 内容是从哪个位置开始改变的,第一个位置为0//before 若为0,代表字符增加了,增加的个数为count;若不为0,代表字符减少了,减少的个数就是before的值Log.i("bqt", charSequence + "--" + start + "--" + before + "--" + count);onLimitLenChanged(temp.length());}
其他常用设置
其他常用设置
- 设置光标到指定位置 et.setSelection(2);
- 设置光标不显示 et.setCursorVisible(false);
- 设置获得焦点时全选文本 et.setSelectAllOnFocus(true);
- 请求获取焦点 et.requestFocus();
- 清除焦点 et.clearFocus();
标签:
原文地址:http://www.cnblogs.com/baiqiantao/p/5399023.html