EditText

属性介绍:

maxLength:设置最大输入字符数。

hint:设置空白提示文字。

textColorHint:设置空白提示文字的颜色。

enabled:设置是否可编辑(可以获得焦点)。

password:设置是否是密码输入框样式。

phoneNumber:设置是否是电话号码输入框样式,并且将软键盘同时被设置为拨号键盘。

numeric:设置只接收数字,数字类型一共有三种分别为integer(正整数)、signed(带符号整数)和decimal(浮点数)。

inputType:设置输入类型和合适的软键盘。

imeOptions:设置Enter键显示的效果。

效果介绍:

1.可以通过设置EditText的高来实现文本域的效果。

2.imeOptions属性的常用值:

actionUnspecified  未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:

     actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 效果:

     actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 效果:

     actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH 效果:

     actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND 效果:

     actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT 效果:

     actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE 效果:

部分效果根据输入法不同会有所改变。

3.设置全选,调用方法selectAll()。设置从第n个字符开始选择EditText文本,调用方法如下:

Editable editable = editText.getText();

Selection.setSelection(editable,n-1,editable.length());

获取选中的文本,调用方法如下:

int start=editText.getSelectionStart();

       int end=editText.getSelectionEnd();

       CharSequence selectText=editText.getText().subSequence(start, end);

4.设置输入框的边框,这里假设设置输入框未获取焦点和获取焦点之间,颜色不同,则将EditText设置背景为android:background="@drawable/bg_edittext",而“bg_edittext”为bg_edittext.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

   <item android:state_window_focused="false" android:drawable="@drawable/contact_edit_edittext_normal" />

   <item android:state_focused="true" android:drawable="@drawable/contact_edit_edittext_focused" />

</selector>

同样的,contact_edit_edittext_normal.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">

<solid android:color="#FFFFFF" />

<corners android:radius="3dip"/>

<stroke

android:width="1dip"

android:color="#BDC7D8" />

</shape>

contact_edit_edittext_focused.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">

<solid android:color="#FFFFFF" />

<corners android:radius="3dip"/>

<stroke

android:width="1dip"

android:color="#728ea3" />

</shape>

其中的<solid android:color="#FFFFFF" />用来设置文本的背景色,<corners android:radius="3dip"/>用来设置拐角的圆滑度,<stroke android:width="1dip" android:color="#728ea3" />用来设置边框样式,width和color用来设置边框的宽度和颜色。

       5.设置输入过滤器:采用InputFilter接口来创建自定义的过滤器,它只包含一个名为filter()的方法。对于filter方法,声明如下:

public abstract CharSequence filter (

CharSequence source,  //输入的文字

int start,  //开始位置

int end,  //结束位置

Spanned dest, //当前显示的内容

int dstart,  //当前开始位置

int dend //当前结束位置

);

通过EditText对象调用setFilters方法,就可以对输入的内容进行限制,setFilters方法需要一个InputFilter对象数组。

假设只允许用户输入两个大写的字符,则可以做如下操作:

edittext.setFilters(new InputFilter[]{

new InputFilter.AllCaps(),

new InputFilter.LengthFilter(2)

});

假如想对输入的内容做改动,则可以实现filter方法,如下,将输入的内容都替换为“Empty”:

editText.setFilters(new InputFilter[] {

new InputFilter() {

public CharSequence filter(CharSequence src, int start, int end, Spanned dst, int dstart, int dend) {

return src.length() < 1 ? dst.subSequence(dstart, dend) : " Empty ";

}

} });

Android之EditText的更多相关文章

  1. android中将EditText改成不可编辑的状态

    今天在做项目的时候,要想实现一个将EditText变成不可编辑的状态,通过查找博客,发现一个好方法,对于单独的EditText控件我们可以单独设置 1.首先想到在xml中设置Android:edita ...

  2. Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数

    Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文    TextWatcher mTextWatcher = new Tex ...

  3. Android自定义EditText去除边框并添加下划线

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  4. Android开发EditText属性

    Android开发EditText属性 EditText继承关系:View-->TextView-->EditText EditText的属性很多,这里介绍几个:android:hint= ...

  5. 关于android中EditText边框的问题 下划线

    方法1 将edittext的style设置成?android:attr/textViewStyle 取消掉默认的样式,在设置background为@null 接下来就是一个空空的edittext了, ...

  6. Android之EditText文本变化的监听

    监听EditText的文本变化需要给EditText控件加一个addTextChangeListener监听器 editText.addTextChangeListener(textWatcher); ...

  7. Android 去除EditText边框,添加下划线,

    首先:重写EditText //请在这里添加您的包名 import android.content.Context; import android.graphics.Canvas; import an ...

  8. Android之EditText组件学习

    一.基础学习 1.Button是TextView的一个子类,所以按钮本身是一个特殊的文本,属性和TextView相似 2.EditText类似html里的input type="text&q ...

  9. 【转】Android中EditText中的InputType类型含义与如何定义

    原文网址:http://www.crifan.com/summary_android_edittext_inputtype_values_and_meaning_definition/ 经过一些And ...

  10. Android 自定义控件 EditText输入框两边加减按钮Button

    自己封装的一个控件:EditText两边放加减按钮Button来控制输入框的数值 Demo 下载地址: 第一版:http://download.csdn.net/detail/zjjne/674086 ...

随机推荐

  1. 第四节 数据格式化和ModelAttribute注解的介绍

    从来都不坦荡,情绪都写在脸上:不开心的时候,不爱说话,笑也勉强. 课堂笔记,如果这么写,不仅仅是手速,还要有语速, 这样不太适合! --胖先生 关于数据传递: 客户端传递数据到服务端: 1.使用普通的 ...

  2. UISearchDisplayController隐藏navigationBar需注意

    不能调用self.navigationController.navigationBar.hidden = YES: 调用此代码的话,你隐藏了navigationBar搜索展示控制器就拿不到导航条:就会 ...

  3. JS 数组乱序

    因为不想在后台操作,就使用js进行 涉及到了一个打乱数组顺序的方法 百度到的一篇 Author : Jun.lu http://www.cnblogs.com/idche/archive/2010/0 ...

  4. android百度地图中的地图缩放级别

    前期搭建百度地图的环境就不说了,网上一搜一大把,这里只讲地图的缩放,大神可以直接绕道 首先在类的内部初始化一个百度地图的对象 private BaiduMap mBaiduMap; 然后在OnCrea ...

  5. Python(2.7.6) 标准日志模块 - Logging Configuration

    除了使用 logging 模块中的 basicConfig 方法配置日志, Python 的 logging.config 模块中, dictConfig 和 fileConfig 方法分别支持通过字 ...

  6. ubuntn14.04 32位安装hadoop2.7.2

    1. 创建用户一枚, sudo addgroup hadoop sudo adduser -ingroup hadoop hadoop_lcc 2. 为新创建的用户添加sudo权限 sudo gedi ...

  7. C#之父 Anders Hejlsberg

             Anders Hejlsberg (born December 1960)[2] is a prominent Danish software engineer who co-des ...

  8. 关于Windows® API Code Pack for Microsoft® .NET Framework

    相比之前的操作系统,Window 7(or Vista)提供了很多新特性,我们在应用实现中可以利用这些特性来提升用户体验. 这些特性主要包括以下几个方面: Shell Enhancements Dir ...

  9. 开始写自己的iOS技术博客了

    2015-09-26 中秋节前夕,开始写自己的iOS开发相关的技术博客,还请广大专业的人士批评指教!欢迎纠错和交流! 在来到北京的第二家公司艾亿新融资本管理的子公司——资配易.由于基本没有加班,也算有 ...

  10. DOS删除服务

    启动服务:   net   start   服务名   停止服务:   net   stop     服务名   卸载服务:   服务名   -uninstall 安装服务:sc create ser ...