Android TextView以及子类

来源:互联网 发布:2017有哪些网络剧上映 编辑:程序博客网 时间:2024/05/21 20:00

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    开关的文本字体风格 

1 0