一、引言

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. 设置statusBarStyle

    设置状态栏的样式, typedef NS_ENUM(NSInteger, UIStatusBarStyle) {    UIStatusBarStyleDefault                  ...

  2. Xcode插件优缺点对比(推荐20款插件)

    本文大致整理了自己用过的一些插件的使用感想(就是好不好用). 在那之前先简单贴两条插件须知,知道的可以忽略. 1.Alcatraz 类似于管理第三方库的cocoapods,管理插件也有个Alcatra ...

  3. CSS3 选择器——属性选择器

    上一节在<CSS3选择器——基本选择器>中主要介绍了CSS3选择器的第一部分,这节主要和大家一起来学习CSS3选择器的第二部分——属性选择器.属性选择器早在CSS2中就被引入了,其主要作用 ...

  4. 获取本机IP地址

    这里有两种方法: //获取本机IP - (NSString *)localIPAddress { NSString *localIP = nil; struct ifaddrs *addrs; ) { ...

  5. 记CentOS-7-x86_64-DVD-1503与Windows7单硬盘双系统的安装

    我最初的设想是:Win引导CentOS,最后却变成了CentOS引导Win了.算是‘弄拙成巧’了吧. 因为我打算用U盘刻录镜像直接从U盘启动,所以不需要网上一些教程里面的繁琐的win下引导CentOS ...

  6. 使用xhprof分析php代码性能

    推荐在Linux平台使用xhprof,win下xhprof目前稳定版本在php5.5 安装xhprof 下载地址 http://pecl.php.net/get/xhprof-0.9.4.tgz 与p ...

  7. [AlwaysOn Availability Groups]AlwaysOn等待类型

    AlwaysOn等待类型 当排查AlwaysOn延迟,等待统计信息可以在DMV中查看累计的AlwaysOn等待类型. 查看AlwaysOn等待类型 SELECT * FROM sys.dm_os_wa ...

  8. .net C# SqlHelper for Oracle

    适用于Oracle的sqlhelper 需要使用ODP.Net,引用Oracle.DataAccess.dll 推荐安装ODAC 代码如下: using System; using System.Co ...

  9. django ORM

    http://www.cnblogs.com/alex3714/articles/5512568.html 常用ORM操作 一.示例Models from django.db import model ...

  10. SpringMVC @ModelAttribute注解

    /**     * 1. 有 @ModelAttribute 标记的方法, 会在每个目标方法执行之前被 SpringMVC 调用!      * 2. @ModelAttribute 注解也可以来修饰 ...