Android开发自学笔记(Android Studio)—4.2TextView及其子类
一、引言
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的子类,所以在基本使用上基本没有太大的难度,但是想做的更好,需要研究的更深入些。附上一些扩展的使用案例。
Android开发自学笔记(Android Studio)—4.2TextView及其子类的更多相关文章
- Android开发自学笔记(Android Studio)—4.1布局组件
一.引言 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.在Android4.0之前,我们通常说 ...
- Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类
一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...
- Android开发自学笔记(Android Studio)—4.4 AdapterView及其子类
一.引言 AdapterView本身是一个抽象类,而它派生的子类在用法上也基本相似,只是在显示上有一定区别,因此把他们也归为一类. AdapterView具有如下特征: Ada ...
- Android开发自学笔记(Android Studio1.3.1)—3.Android应用结构解析
一.R文件是什么? 如上图所示,我们可以通过findViewById方法通过传入R.id.show找到我们的TextView元素,findViewById方法也很好理解,从View中通过Id ...
- Android开发自学笔记(Android Studio1.3.1)—1.环境搭建
一.引言 .Google推出的 毫无疑问,这个是它的最大优势,Android Stuido是Google推出,专门为Android"量身订做"的,是Google大力支持的一款基于I ...
- Android开发自学笔记(Android Studio1.3.1)—2.开始第一个Android应用
一.前言 使用Android Studio开发Android应用是一件非常简单的事情,因为它会帮你自动完成很多工作.本篇我们主要完成一个单击按钮在文本框显示当前时间的简单应用,借此来演示一下 ...
- Android开发自学笔记(Android Studio) 目录
开发环境如下: 操作系统:Windows 10 Pro IDE:Android Studio 1.3.X 或更高版本 其它请参见文章说明. 1. 环境搭建 1.1 (番外)AndroidStudio常 ...
- Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍
一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组 ...
- Android开发自学笔记(Android Studio)—4.3ImageView及其子类
一.引言 ImageView继承自View组件,主要功能用来显示图片,实际上他能显示的不仅是图片,Drawable对象都可以用ImageView来显示. ImageView派生了ImageButton ...
随机推荐
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- 好神奇的代码,可以让匿名用户对特定SharePoint 列表拥用添加列表项的权限哦
如果你不使用代码,很难从界面上去设置列表的匿名用户(如果可以请告诉我,我会自动删除这个博文)拥有列表项的添加权限. 其实这种需求是非常必要的,比如: 1.允许新用户去提交一个注册申请, 2.在召集临时 ...
- JavaScript单元测试框架JsUnit基本介绍和使用
JavaScript单元测试框架JsUnit基本介绍和使用 XUnit framework XUnit是一套标准化的独立于语言的概念和结构集合,用于编写和运行单元测试(Unit tests). 每一个 ...
- Golang语法与代码格式速记【转】
// Description: Golang语法与代码格式速记 // Author: cxy // Date: 2013-04-01 // Version: 0.3 // TODO 说明 // TOD ...
- cocos2dx骨骼动画Armature源码分析(二)
flash中数据与xml中数据关系 上篇博文从总体上介绍了cocos2dx自带的骨骼动画,这篇介绍一下导出的配置数据各个字段的含义(也解释了DragonBone导出的xml数据每个字段的含义). sk ...
- CocoaPods的使用及安装
本文转自:http://www.jianshu.com/p/6e5c0f78200a 一.什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理.开发i ...
- 文件的上传(如何兼容火狐与IE)与国际化的原理
1.文件的上传 [1] 简介 > 将本地的文件上传到服务器中 > 用户需要通过一个表单将文件上传到服务器中 [2] 表单的设置 ...
- SQL Server Column Store Indeses
SQL Server Column Store Indeses SQL Server Column Store Indeses 1. 概述 2. 索引存储 2.1 列式索引存储 2.2 数据编码和压缩 ...
- Linq专题之提高编码效率—— 第三篇 你需要知道的枚举类
众所周知,如果一个类可以被枚举,那么这个类必须要实现IEnumerable接口,而恰恰我们所有的linq都是一个继承自IEnumerable接口的匿名类, 那么问题就来了,IEnumerable使了 ...
- Redis时延问题分析及应对
Redis时延问题分析及应对 Redis的事件循环在一个线程中处理,作为一个单线程程序,重要的是要保证事件处理的时延短,这样,事件循环中的后续任务才不会阻塞: 当redis的数据量达到一定级别后(比如 ...






