部分内容参考: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. 【Android自学笔记之一】个性TextView自己实现
  2. Android(安卓)--- MediaPlayer的使用详解
  3. Android(OPhone) 学习笔记 - 地图(2)
  4. Android(安卓)5.0 android:elevation 如果给button设置效果
  5. Android(安卓)属性动画 源码解析 深入了解其内部实现
  6. Android(安卓)的状态栏设置图片填充或者颜色填充
  7. Android网易有道词典案例源码分享
  8. Android(安卓)的网络编程
  9. Mac OS下配置 ADB环境变量

随机推荐

  1. android wav 去头信息转化成pcm 格式数据
  2. Android studio ndk编译配置
  3. android 优化文章
  4. Android开发 了解android系统的架构
  5. Android SDK无法更新问题解决
  6. Android结束进程的方法
  7. Android中的searchView去掉前面的搜索圈
  8. 异常android.os.NetworkOnMainThreadExce
  9. Android 编译环境搭建
  10. android Ant 批量多渠道打包!