Android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。这也大大的方便的操作。有时需要虚拟键盘只为字符或只为数字。所以inputType尤为重要。

 

 

android:layout_width="fill_parent" 

android:layout_height="wrap_content"

android:inputType="text" />

 

//文本类型,多为大写、小写和数字符号。
    android:inputType="none"
    android:inputType="text"
    android:inputType="textCapCharacters" 字母大写
    android:inputType="textCapWords" 首字母大写
    android:inputType="textCapSentences" 仅第一个字母大写
    android:inputType="textAutoCorrect" 自动完成
    android:inputType="textAutoComplete" 自动完成
    android:inputType="textMultiLine" 多行输入
    android:inputType="textImeMultiLine" 输入法多行(如果支持)
    android:inputType="textNoSuggestions" 不提示
    android:inputType="textUri" 网址
    android:inputType="textEmailAddress" 电子邮件地址
    android:inputType="textEmailSubject" 邮件主题
    android:inputType="textShortMessage" 短讯
    android:inputType="textLongMessage" 长信息
    android:inputType="textPersonName" 人名
    android:inputType="textPostalAddress" 地址
    android:inputType="textPassword" 密码
    android:inputType="textVisiblePassword" 可见密码
    android:inputType="textWebEditText" 作为网页表单的文本
    android:inputType="textFilter" 文本筛选过滤
    android:inputType="textPhonetic" 拼音输入

   android:textColorHint设置提示hint信息的颜色。 


//数值类型
    android:inputType="number" 数字
    android:inputType="numberSigned" 带符号数字格式
    android:inputType="numberDecimal" 带小数点的浮点格式
    android:inputType="phone" 拨号键盘
    android:inputType="datetime" 时间日期
    android:inputType="date" 日期键盘
    android:inputType="time" 时间键盘

 

 

 

/** * EditText获取焦点并显示软键盘 */public static void showSoftInputFromWindow(Activity activity, EditText editText) {    editText.setFocusable(true);    editText.setFocusableInTouchMode(true);    editText.requestFocus();    InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);    imm.showSoftInput(editText, 0);}

 

 

自定义Android软键盘enter键

 

问题描述:

 

 

 

你在EditText上输入以后,想在下一行输入框输入,可能需要去点击下一行输入框,让它获取焦点,也可能要隐藏软键盘,在点击输入框,弹出软键盘。或者已经到了最后一行输入框,输入完毕以后,要点击登录,注册,或者链接按钮,可能要去隐藏它,感觉操作狠繁琐。用户体验不好,有没有解决办法呢?

 

解决办法:

设置EditText的Ime Options属性。

 

 

软键盘,最常用的enter键事件有: 把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
actionSearch : search 搜索
注意一定要设置android:singleLine=”true”,否则回车会换行
下面贴出代码: 

 

    android:id="@+id/tv_search" android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:imeOptions="actionSearch"
    android:singleLine="true" >

 

内容监听

EditText.setOnEditorActionListener(new OnEditorActionListener() {
   
@Override
    public boolean onEditorAction(TextView v, int actionId, 
                KeyEvent event) {
       
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
            searchYanshan();
        }
       
return false;
    }
});

显示输入框只能输入8行    SimpleTextWatcher这个类实现了TextWatcher 的接口      

welfare.addTextChangedListener(new SimpleTextWatcher() { @Override public void afterTextChanged(Editable s) { int lines = welfare.getLineCount(); if (lines > 8) { // 限制最大输入行数 String str = s.toString(); int cursorStart = welfare.getSelectionStart(); int cursorEnd = welfare.getSelectionEnd(); if (cursorStart == cursorEnd && cursorStart < str.length() && cursorStart >= 1) { str = str.substring(0, cursorStart - 1) + str.substring(cursorStart); } else { str = str.substring(0, s.length() - 1); } welfare.setText(str); // setText会触发afterTextChanged的递归 welfare.setSelection(welfare.getText().length());// setSelection用的索引不能使用str.length()否则会越界 } } });

更多相关文章

  1. Android输入系统与Qwerty物理键盘的支持
  2. Android富文本编辑器
  3. Android - TextView限制文本长度,英文占1位,中文占2位
  4. android 虚拟键盘遮挡布局 顶起布局
  5. android文本布局引擎
  6. android EditText被键盘遮住的问题
  7. android中任何禁止软键盘自动弹出而点击EditText的时候才弹出
  8. 最近的工作记录:键盘敲入的Linux Shell命令,哈哈
  9. android tab上显示数字

随机推荐

  1. 【Android】如何用MediaPlayer实现一个简
  2. Android学习笔记(9)---FrameLayout中上下层
  3. android bluetooth 移植相关注意事项
  4. android之launcher时序图and图标的建立
  5. Android(安卓)ConstraintLayout 约束布局
  6. Android(安卓)旋转屏幕捕获当前屏幕的状
  7. Android(安卓)重力感应获取手机运动方向
  8. Android(安卓)中与 Touch 事件分发和消费
  9. 一个Demo让你掌握所有的android控件
  10. Android中各种形状