部分内容参考:http://www.cnblogs.com/hnrainll/archive/2012/11/24/2786159.html

控制EditText的输入的时候:

1)常用设置

android:hint="请输入数字!"//设置显示默认的提示信息
android:focusable="false"// 无法输入内容android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。android:textColor = "#ff8c00"//字体颜色android:textStyle="normal"//正常字体 ="bold" //粗体 ="italic"//斜体 ="bold|italic"//粗体+斜体android:capitalize = "characters"//输入内容为大写字母(注意:可以用inputType的某个属性代替)android:textColorHighlight="#cccccc"//被选中文字的底色,默认为蓝色android:textColorHint="#ffff00"//设置提示信息文字的颜色,默认为灰色android:textScaleX="1.5"//控制字与字之间的间距android:background="@null"//背景,这里没有,指透明android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottomandroid:gray="top" //多行中指针在第一行第一位置android:capitalize //首字母大写android:phoneNumber //输入电话号码android:autoLink=”all” //设置文本超链接样式当点击网址时,跳向该网址android:cursorVisible //设定光标为显示/隐藏,默认显示。

2)inputType常用设置

android:inputType="textCapCharacters" 字母大写android:inputType="textCapWords" 首字母大写android:inputType="textCapSentences" 仅第一个字母大写android:inputType="textMultiLine" 多行输入android:inputType="textPassword" 密码android:inputType="number" 数字android:inputType="numberSigned" 带符号数字格式android:inputType="numberDecimal" 带小数点的浮点格式android:inputType="datetime" 时间日期android:inputType="date" 日期键盘android:inputType="time" 时间键盘

3)常用的数字输入设置:

android:numeric="integer"   //只可以输入正整数android:numeric="decimal"  //可以输入小数android:numeric="signed"   //表示可以输入整数(正整数或者负整数)android:inputType="numberDecimal" //可以输入小数,正小数(即只可以加一个小数点的正数)android:maxLength="11"   //最多可以输入11位数字android:singleLine="true" //单行输入android:password="true"   //密码输入框,可以使得输入的内容在1秒内变成*字样android:inputType="number" //设置只能输入数字(相当于是输入正整数),并且默认的弹出框是数字弹出框

4)EditText中,android:maxLines和android:minLines的区别:

例如:

android:maxLines="3" //使用maxLines的EditText最大行数为3行,当输入的内容超过3行后,它形状的大小不会根据输入内容的多少而改变,反正它显示的内容就是3行
//开始EditText里面没内容时,默认控件大小为1行
android:minLines="3" //使用minLines的EditText是至它至少显示3行内容(包括内容为空时)当输入的内容超过3行后,它形状的大小根据输入内容的多少而改变。

5)如何设置输入框只能输入指定的字符:

A:在EditText的XML中直接设置:

android:digits="0123456789xyzXYZ#*?"  //引号里面输入你想设置的输入内容

B:使用Java代码设置:

EditText.setKeyListener(new NumberKeyListener() {      @Override      protected char[] getAcceptedChars() {          return new char[] { 'a', 'b', '3', '4', '5', '6', '7', '8','9',  };      }      @Override      public int getInputType() {          // TODO Auto-generated method stub           return android.text.InputType.TYPE_CLASS_PHONE;    }  });  

android 中inputType详解:

android 1.5以后添加了软件虚拟键盘的功能,所以在输入提示中将会有对应的软键盘模式。
android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。这也大大的方便的操作。有时需要虚拟键盘只为字符或只为数字。所以inputType尤为重要。
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content"android:inputType="phone"/>

//文本类型,多为大写、小写和数字符号。
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:inputType="number" 数字
android:inputType="numberSigned" 带符号数字格式
android:inputType="numberDecimal" 带小数点的浮点格式
android:inputType="phone" 拨号键盘
android:inputType="datetime" 时间日期
android:inputType="date" 日期键盘
android:inputType="time" 时间键盘


遇到的一些情景:

一、项目需求是这样的,如果EditText上面已经被setText()内容,则需要禁止输入,防止它被修改。

解决:

1、根据判断条件,设置:

editText.setFocusable(true);或者editText.setFocusable(false);

2、手机软键盘是否可以开启:

利用editText.setInputType(InputType.TYPE_NULL);来禁止手机软键盘。

editText.setInputType(InputType.TYPE_CLASS_TEXT);来开启软键盘。

二、输入框中,第一位不让输入”.“,如何判断?

if(StringUtils.equals(".", StringUtils.substring(edt.getText().toString(),0,1))){              //截取用户输入的内容的第一位,然后跟”.做比较“Toast.makeText(VisitInfo.this, "里程信息输入有误,请重新输入!",Toast.LENGTH_SHORT).show();}

更多相关文章

  1. cvc-complex-type.2.4.d: 发现了以元素 'd:skin' 开头的无效内容
  2. Android软键盘强制弹出,隐藏输入法.
  3. Android动态显示隐藏密码输入框的内容
  4. Android使edittext弹出的软键盘位于输入框下面而不是覆盖输入框
  5. android里在程序中修改listView里的内容
  6. Android 自定义像素AVD模拟器无键盘
  7. android 点击分享内容中的连接地址在应用中打开浏览

随机推荐

  1. Android中Gallery来显示图片
  2. Learning about Android(安卓)Graphics S
  3. ionic build android时gradle错误
  4. Android(安卓)Hilt
  5. Translation001——android
  6. Android(安卓)使用自定义View画圆
  7. Android隐藏状态栏、导航栏
  8. Android(安卓)MVC模式你真的明白了吗??
  9. Android的水平进度条和圆形进度条实例
  10. android 控件抖动