TextView文本框
TextView直接继承VIew,它还是多个控件的父类,这同时说明,TextView的子类同样可以使用TextView的XML属性。TextVIew的作用就是在界面上显示文本。从功能上看TextView其实就是一个文本编辑器,只不过android关闭了它的 文字编辑功能。下面是TextView的类结构图:
EditText编辑框
EditText只是在TextView基础上增加了文本编辑功能,它最重要的属性是inputType,设置该属性的时候会调用响应输入法的状态,eg:拨号时全是数字,填写密码时字母加数字之类的。他派生两个子类:
AutoCompleTextView:带有自动完成功能的EditText。
ExtractEditText:它不是UI组件,而是EditText组件的底层服务类,负责提供全屏输入法支持。
Button按钮
Button同样继承TextView,Button最主要是提供点击事件onClick来做一些事情。
RadioButton单选按钮
RadioButton继承CompoundButton,CompoundButton继承Button,它只是在按钮的基础上多了一个选中功能,需要把这些都放在一个组里
CheckBox复选按钮
RadioButton继承CompoundButton,CompoundButton继承Button。
ToggleButton状态开关按钮
ToggleButton由Button派生,所以本质依然是按钮,用于切换状态的控件。
Switch
同上(ToggleButton)
AnalogClock模拟时钟
AnalogClock继承View 不需要java代码,只需要XML定义两个时钟运行时自动获取本地的时间并设置在时钟上。
DigitalClock数字时钟
DigitalClock继承 TextView 不需要java代码,只需要XML定义两个时钟运行时自动获取本地的时间并设置在时钟上。可以设置XMl的dial,hand_minute ,hand_hour三个属性即可
Chronometer计时器
chronmeter继承TextView 它也会显示文本但不显示当前时间,显示从某刻到某刻经历了多长时间,java代码中常用方法:
setBase(long base):设置计时器的起始时间
setFormat(String format); 设置显示时间的格式
start();开始计时
stop();结束计时
c.setOnChronometerTickListener(listener);当计时器改变时触发该监听器
上面三个效果图:
AutoCompleteTextView自动完成编辑框
它继承与EditText,本质是编辑框,扩展的功能是输入文字的时候会有一个下拉的提示框,点击提示框里的文字的时候直接放在输入框里,跟百度搜索一样,它的使用也很简单,设置一个adapter就可以。
<AutoCompleteTextView
android:id="@+id/actv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:dropDownHorizontalOffset="10dp"
android:completionHint="这是提示" />
actv.setAdapter(adapter);
MultiAutoCompleteTextView多个提示完成编辑框
它继承与AutoCompleteTextView,在自身的基础上增加了多个提示,用“,”分隔 另外也提供了设置分隔的方法setTokenizer(Tokenizer t);
mactv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
TextView属性:
android:autoLink 是否将符合指定格式的文本转换为可单击的超链接
android:autoText 控制是否将URL E-mail地址等链接自动转换为可单击的链接
android:capitalize 控制是否将用户输入的文本转换为大写字母,该属性支持 none不转换, sentences每个句子的首字母大写 ,words每个单词首字母大写 ,characters每个字母都大写
android:cursorVisble 设置该文本的光标是否可见
android:digits 如果该属性设为true,则该文本框对应的一个数字的输入方法,并且只接受那些合法字符
android:drawableTop 在文本框内文本的顶端绘制指定图像
android:drawableButton 在文本框内文本的底端绘制指定图像
android:drawableLeft 在文本框内文本的左侧绘制指定图像
android:drawableRight 在文本框内文本的右侧绘制指定图像
android:drawableStart 在文本框内文本的开始处绘制指定图像
android:drawableEnd 在文本框内文本的结尾绘制指定图像
android:drawablePadding 设置文本框内文本与图形之间的距离
android:editable 设置该文本是否允许编辑
android:ellipsize 设置当显示文本超过了TextView的长度时如何处理文本内容,该属性支持none不做处理,start开始处截断显示省略号,end结尾处截断显示省略号,middle中间处截断显示省略号,marquee滚动显示文本
android:ems 设置该组件的宽度,以em为单位
android:fontFamily 设置该文本框内文本的字体
android:gravity 设置文本框内文本的对齐方式
android:height 设置文本框的高度
android:hint 设置该文本框内容为空时的提示文字
android:imeActionId 当该文本框关联输入法时,为输入法提供EditorInfo.actionId值
android:imeActionIdLable 当该文本框关联输入法时,为输入法提供EditorInfo.actionId值
android:imeOptions 当该文本框关联输入法时,为输入法指定额外的选项
android:includeFontPadding 设置是否为字体保留足够的空间,默认为true
android:inputMethod 为该文本框关联输入法时,该属性值为输入法的全限定类名
android:inputType 指定该文本框输入的类型
android:lineSpacingExtra 控制两行文本之间的额外间距,与android:lineSpacingMultiplier结合使用
android:lineSpacingMultiplier 控制两行文本之间的额外间距,每行文本为高度*该属性值+android:lineSpacingExtra属性值
android:lines 设置该文本框默认占几行
android:linksClickable 控制该文本的URL,E-mail等链接是否可点击
android:marqueeRepeatLimit 设置marquee动画重复的次数
android:maxEms 指定该文本框的最大宽度(以em为单位)
android:maxHeight 指定该文本框的最大高度(以pixel)为单位
android:minHeight 设置该文本的最小宽度(以pixel)为单位
android:maxLength 设置该文本框的最大字符长度
android:maxLines 设置该文本框最多占几行
android:minLines 设置该文本框最少占几行
android:maxWidth 指定文本框的最大宽度(以pixel)为单位
android:minWidth 指定文本框的最小宽度(以pixel)为单位
android:numeric 设置该文本框关联的数值输入法,该属性支持:integer指定关联整数的输入法,signed允许输入符号的数值输入法,decimal允许小数点的数值输入法
android:password 设置该文本框是一个密码框
android:phoneNumber 设置该文本框只接受电话号码
android:privateImeOptions 设置该文本框关联的输入法的私有选项
android:scrollHorzontally 设置该文本不够显示全部内容时是否允许水平滚动
android:selectAllOnFocus 如果文本框的内容可选择,设置是否当它获得焦点时自动选中全部文本
android:shadowColor 设置文本框内阴影的颜色
android:shadowDx 设置该文本框的阴影在水平方向的偏移
android:shadowDy 设置该文本框的阴影在垂直方向的偏移
android:shadowRadius 设置文本框内文本阴影的模糊程度,越大越模糊
android:singleLine 设置该文本框是否为单行模式
android:text 设置该文本框的内容
android:textAllCaps 设置是否将文本框的所有字母显示为大写字母
android:textAppearance 设置该文本框的颜色,字体,大小等样式
android:textColor 设置该文本的颜色
android:textColorHighlight 设置文本框中文本被选中时的颜色
android:textColorHint 设置文本框中提示文字的颜色
android:textColorLink 设置该文本框中链接的颜色
android:textIsSelectable 设置该文本框不能编辑时,文本框是否可以被选中
android:textScaleX 设置文本框在水平方向上的缩放因子
android:textSize 设置文本框内文本的大小
android:textStyle 设置文本框内的style样式
android:typeface 设置文本框内文本的字体风格
android:width 设置该文本框的宽度
ToggleButton属性:
android:checked 是否已经选中状态
android:textOf 关闭时的文本
android:textOn 打开时的文本
Switch属性
android:checked 是否已经选中状态
android:textOf 关闭时的文本
android:textOn 打开时的文本
android:switchMinWidth 该开关的最小宽度android:switchPadding 开关与标题文本之间的空白
android:switchTextAppearance 开关图标上的文本样式
android:track 使用自定义Drawable绘制开关的轨道
android:thumb 使用自定义Drawable绘制开关的按钮
android:typeface 开关的文本字体风格