一、引言
TextView是我们最常用的一个控件了,它类似于C# Winform程序中的Lable,Java Swing编程中的JLable,不过相对功能更强大些,但从功能上看,它其实就是个文字编辑器,只是默认关闭了编辑功能,而EditText这个编辑框控件就是它的直接子类。我们查看一下API(API Level23)中关于TextView的继承关系:
从API文档我们可以看出,TextView直接继承了View类,同时又是我们常用的EditText、Button、CheckBox、RadioButton的父类。
直接子类有:AppCompatTextView、Button、CheckTextView、Chronometer、DigitalClock、EditText、RowHeaderView、TextClock
间接子类有:AppCompatAutoCompleteTextView、AppCompatRadioButton、AutoCompleteTextView、CheckBox、CompoundButton、ExtractEditText、MultiAutoCompleteTextView、RadioButton、SearchEditText、Switch、SwitchCompat、ToggleButton
下面我们着重说一下TextView的属性,其它的子类过一下基本的使用方法。
二、TextView
TextView提供了大量的XML属性,这些属性不仅适用于TextView,同样适用于他的子类,下面给出这些属性及其属性的说明(基于API LEVEL23):
(本想把API中的属性都弄过来翻一下,太多了啊啊啊啊啊啊啊,这里借用疯狂讲义的截图。。。够用了。)
下面通过代码简单演示一下使用方法,其他的自行琢磨吧。
说明:
1.text1是使用textColor属性设置了字体颜色,textSize属性设置了字体大小
2.text2使用layout_margin设置组件的外边距,上下左右都是20dp,autoLink是为了让组件将超链接直接识别成地址
3.text3使用layout_marginLeft设置了组件的左边距,maxLength设置组件中文字的最大长度,我们可以看到超过7个字符后面的就不显示了
三、EditText的功能和用法
EditText与TextView非常类似,它与TextView共用了绝大部分的属性和方法。最大区别就是EditText支持用户输入。而TextView属性中的有关输入的就是为它准备的,我们看一下它的基本用法。
说明:
1.hint为默认填充的文字,获得焦点后消失
2.inputType为限定输入的类型(枚举类型请查API)
四、Button的功能和用法
Button同样继承了TextView,在界面上展示位一个按钮,用户单击了以后触发onClick方法,简单的使用方法见下图:
说明:
1.按钮1给文字加了阴影
2.按钮2给按钮加了背景色
3.按钮1事件添加采用了直接在布局页绑定生成的方法
4.按钮2事件添加采用在代码页手动绑定
按钮的功能很多,这里只简单介绍了使用方法,扩展使用网上也有很多介绍,这里不再一一演示,给出一些学习的网址,供大家参考:
五、RadioButton和CheckBox
CheckBox和RadioButton控件都只有选中和未选中状态,不同的是RadioButton是单选按钮,需要编制到一个RadioGroup中,同一时刻一个RadioGroup中只能有一个按钮处于选中状态。
以下为CheckBox和RadioButton常用方法及说明。
代码及示意图如下:
我们再来看一下如何获取选中的状态:
六、状态开关(ToggleButton)与开关(Switch)的使用方法
这两个开关都是由Button派生来的,所以Button的属性对于他们两个都适用,他们本质也是按钮,与checkbox类似,但是他们通常用于某种状态的切换。
ToggleButton支持的一些属性:
Switch支持的一些属性:
下面的代码简单的展示一下使用方法:
七、结语
本文介绍的诸多组件都是TextView的子类,所以在基本使用上基本没有太大的难度,但是想做的更好,需要研究的更深入些。附上一些扩展的使用案例。