原链接http://www.cnblogs.com/yishaochu/p/5785234.html
title: EditText 基本用法
tags: EditText,编辑框,输入框
---
EditText介绍:
EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是用户跟Android应用进行数据传输的窗户,比如实现一个登陆界面,需要用户输入账号密码,然后我们获取用户输入的内容,提交给服务器进行判断。
EditText 支持的 XML 属性及相关方法
XML 属性相关方法说明
android:textsetText(CharSequence text)设置文本内容
android:textColorsetTextColor(int color)字体颜色
android:hintsetHint(int resid)内容为空时候显示的文本
android:textColorHintvoid setHintTextColor(int color)为空时显示的文本的颜色
android:inputTypesetInputType(int type)限制输入类型
number:整数类型
numberDecimal:小数点类型
date:日期类型
text:文本类型(默认值)
phone:拨号键盘
textPassword:密码
textVisiblePassword:可见密码
textUri:网址
android:maxLength限制显示的文本长度,超出部分不显示
android:minLinessetMaxLines(int maxlines)设置文本的最小行数
android:gravitysetGravity(int gravity)设置文本位置,如设置成“center”,文本将居中显示。
android:drawableLeftsetCompoundDrawables(Drawable left,Drawable top,Drawable right, Drawable bottom)在text的左边输出一个drawable,如图片
android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:digits设置允许输入哪些字符。如“1234567890”
android:ellipsize设置当文字过长时,该控件该如何显示。
start:省略号显示在开头
end:省略号显示在结尾
middle:省略号显示在中间
marquee:以跑马灯的方式显示(动画横向移动)
android:linessetLines(int lines)设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:lineSpacingExtra设置行间距
android:singleLinesetSingleLine()true:单行显示 false:可以多行
android:textStyle设置字形,可以设置一个或多个,用"\
EditText实例:开发中常用的登录界面
首先我们来看布局文件:activity_main.xml
运行效果图如下:
这两个输入框的用的的大部分属性都在上面的表格中了,我这里解决下没有说过的属性。
android:background="@null" 输入框无背景
android:drawableBottom="@drawable/shape_et_bottom_line" 底部引入一个shape布局文件,这个布局文件就是输入框的下划线。
shape_et_bottom_line.xml内容如下:
EditeText还有哪些功能?
1.监听用户输入的内容.
有这样一个场景,一个搜索框,只要用户输入了内容就去请求服务器,于是我们在Activity里面监听EditeText文本改变事件。
EditText etOne= (EditText) findViewById(R.id.et_phone);etOne.addTextChangedListener(newTextWatcher() {@OverridepublicvoidbeforeTextChanged(CharSequence s,intstart,intcount,intafter){ Log.i("Ansen","内容改变之前调用:"+s); }@OverridepublicvoidonTextChanged(CharSequence s,intstart,intbefore,intcount){ Log.i("Ansen","内容改变,可以去告诉服务器:"+s); }@OverridepublicvoidafterTextChanged(Editable s){ Log.i("Ansen","内容改变之后调用:"+s); } });
首先我们通过id找到EditText控件,并且添加监听函数,内部内实现TextWatcher接口,重写三个方法。我们可以在onTextChanged方法中告诉服务器我要搜索的内容。
源码下载
点击下载源码https://github.com/ansen666/EditTextDemo
各位看官如果觉得文章不错,帮忙点个赞吧,对于你来说是举手之劳,但对于我来说这就是坚持下去的动力。
如果你想第一时间看我们的后期文章,扫码关注公众号,每周不定期推送Android开发实战教程文章,你还等什么,赶快关注吧,学好技术,出任ceo,赢取白富美。。。。