一、引言

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事件添加采用在代码页手动绑定

按钮的功能很多,这里只简单介绍了使用方法,扩展使用网上也有很多介绍,这里不再一一演示,给出一些学习的网址,供大家参考:

1.ImageButton(带图标的按钮)

2.Android 基本界面-按钮控件

3.Android控件之ZoomButton缩放按钮

4.Android Button有按下效果

5.Android Button美化实例

6.Android实现自定义带文字和图片的Button

五、RadioButton和CheckBox

CheckBox和RadioButton控件都只有选中和未选中状态,不同的是RadioButton是单选按钮,需要编制到一个RadioGroup中,同一时刻一个RadioGroup中只能有一个按钮处于选中状态。

以下为CheckBox和RadioButton常用方法及说明。

代码及示意图如下:

我们再来看一下如何获取选中的状态:

六、状态开关(ToggleButton)与开关(Switch)的使用方法

这两个开关都是由Button派生来的,所以Button的属性对于他们两个都适用,他们本质也是按钮,与checkbox类似,但是他们通常用于某种状态的切换。

ToggleButton支持的一些属性:

Switch支持的一些属性:

下面的代码简单的展示一下使用方法:

七、结语

本文介绍的诸多组件都是TextView的子类,所以在基本使用上基本没有太大的难度,但是想做的更好,需要研究的更深入些。附上一些扩展的使用案例。

1.android用户界面之EditText教程实例汇

2.android用户界面之文本编辑教程实例汇

3.android用户界面之Checkbox教程实例汇总

4.android用户界面之TextView教程实例汇总

Android开发自学笔记(Android Studio)—4.2TextView及其子类的更多相关文章

  1. Android开发自学笔记(Android Studio)—4.1布局组件

    一.引言 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.在Android4.0之前,我们通常说 ...

  2. Android开发自学笔记(Android Studio)—4.5 ProgressBar及其子类

    一.前言 ProgressBar本身代表了进度条组件,它还派生出了两个常用的组件:SeekBar和RatingBar,他们的使用方法类似,只是显示界面有一定的区别.我们看一下API文档中的说明: 从图 ...

  3. Android开发自学笔记(Android Studio)—4.4 AdapterView及其子类

    一.引言       AdapterView本身是一个抽象类,而它派生的子类在用法上也基本相似,只是在显示上有一定区别,因此把他们也归为一类.       AdapterView具有如下特征: Ada ...

  4. Android开发自学笔记(Android Studio1.3.1)—3.Android应用结构解析

    一.R文件是什么?      如上图所示,我们可以通过findViewById方法通过传入R.id.show找到我们的TextView元素,findViewById方法也很好理解,从View中通过Id ...

  5. Android开发自学笔记(Android Studio1.3.1)—1.环境搭建

    一.引言 .Google推出的 毫无疑问,这个是它的最大优势,Android Stuido是Google推出,专门为Android"量身订做"的,是Google大力支持的一款基于I ...

  6. Android开发自学笔记(Android Studio1.3.1)—2.开始第一个Android应用

    一.前言      使用Android Studio开发Android应用是一件非常简单的事情,因为它会帮你自动完成很多工作.本篇我们主要完成一个单击按钮在文本框显示当前时间的简单应用,借此来演示一下 ...

  7. Android开发自学笔记(Android Studio) 目录

    开发环境如下: 操作系统:Windows 10 Pro IDE:Android Studio 1.3.X 或更高版本 其它请参见文章说明. 1. 环境搭建 1.1 (番外)AndroidStudio常 ...

  8. Android开发自学笔记(Android Studio)—4.界面编程与View组件简单介绍

    一.引言 Android应用开发最重要的一份内容就是界面的开发,无论你程序包含的内容多么优秀,如若没有一个良好的用户交互界面,最终也只是会被用户所遗弃.Android SDK提供了大量功能丰富的UI组 ...

  9. Android开发自学笔记(Android Studio)—4.3ImageView及其子类

    一.引言 ImageView继承自View组件,主要功能用来显示图片,实际上他能显示的不仅是图片,Drawable对象都可以用ImageView来显示. ImageView派生了ImageButton ...

随机推荐

  1. 原生JS:严格模式详解

    严格模式 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript) 设计目的 设立”严格模式 ...

  2. Semaphore(计数信号量)

    //对象池public class Pool<T> { private int size; private List<T> items = new ArrayList<T ...

  3. iOS Block界面反向传值

    在上篇博客 <iOS Block简介> 中,侧重解析了 iOS Block的概念等,本文将侧重于它们在开发中的应用. Block是iOS4.0+ 和Mac OS X 10.6+ 引进的对C ...

  4. Fragment与ViewPager

    众所周知,为了实现滑动界面,经常让Fragment与ViewPager一起结合使用,每一个ViewPager的页面就是一个Fragment,我们可以在fragment中实现丰富的功能.它的基本用法可以 ...

  5. python之局部变量引用赋值前的结果

    通过正则表达式,实现加减 昨晚在做计算器的时候,被一个BUG搞懵比了.现在再看看,发现我好小白啊~~ #++- num = input("please input:") sa = ...

  6. 基于Ruby的watir-webdriver自动化测试方案与实施(一)

    基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动 ...

  7. Play Framework 完整实现一个APP(十二)

    1.定制CRUD管理页面 > play crud:ov --layout 替换生成文件内容 app/views/CRUD/layout.html #{extends 'admin.html' / ...

  8. Play Framework 完整实现一个APP(五)

    程序以及基本可用了,需要继续完善页面 1.创建页面模板 创建文件 app/views/tags/display.html *{ Display a post in one of these modes ...

  9. .NET Framework各版本比较

    (1)本文比较了.NET Framework多个版本之间的区别,方便各位选择和切换.NET Framework. 版本号 发布日期 Visual Studio的版本 Windows上的默认情况 CLR ...

  10. The process could not execute 'sp_repldone/sp_replcounters' on 'ServerName'

    昨天发现发布服务器S(SQL Server 2008 R2),出现大量如下错误 错误细节如下所示: Date :: PM :: PM) Source spid52 Message Replicatio ...