Android APP完整基础教程(03)UI-常见组件

47 篇文章 15 订阅

该系列文章主要基于AndroidQ平台,主要介绍Android应用基础开发相关知识。主要针对安卓应用开发路径的完整解读 和 coding练习内容的解读。

本文对几类UI组件进行说明(参照安卓疯狂讲义):TextView组件及其子类、ImageView组件及其子类、 AdapterView组件及其子类、ProgressBar组件及其子类、ViewAnimator组件及其子类、Dialog 组件及其子类、Menu菜单组件、ActionBar组件以及 其他常见组件。

解读UI组件的方式如下:

  • 首先,对于这些组件会先给出基本的解读和相关的子类、父类说明。
  • 其次,给出相关的官方文档,可以了解该组件的API和相关方法的详细说明。
  • 最后,给出该系列UI组件的练习内容相关指南,怎么练习才能掌握该组件。

关于练习内容:网上还有比较多的书籍可以用于练习的,之所以选择书籍是因为会相对比较系统。这里选择其中一本(疯狂安卓讲义第四版,源码难度更适合初学者入手)

1 TextView组件及其子类

TextView直接继承了View,同时也是CheckedTextView、EditView、Chronometer、TextClock、Button等组件的父类。它主要是在界面上显示文本,其子类EditText在TextView的基础上允许用户编辑文本内容,子类CheckedTextView增加了一个checked状态。TextView组件及其子类的关系图整理如下:

关于TextView的XML属性和方法使用参照文档:Android组件之TextView组件

练习内容:Android代码练习之TextView

2 ImageView组件及其子类

ImageView继承自view,同时也是 ImageButton、QuickContactBadge等组件的父类。用于显示图片以及任何Drawable对象。QuickContactBadge组件可以关联到手机中指定的联系人,当用户点击该图片,系统会自动打开该联系人的联系方式界面。ImageView组件及其子类关系图整理如下:

关于ImageView的XML属性和方法使用参照文档:Android组件之ImageView组件

练习内容:Android代码练习之ImageView

3 AdapterView组件及其子类

AdapterView继承了ViewGroup类,同时也是AbsListView、AbsSpinner、AdapterViewAnimator的父类。它本身是一个抽象基类,可以包含多个“列表项”,并以合适的形式展现出来。AdapterView组件及其子类关系图整理如下:

这里注意:标注蓝色的组件为官方不再推荐使用的组件。关于AdapterView的XML属性和方法使用参照文档:Android组件之AdapterView组件

练习内容:Android代码练习之AdapterView

4 ProgressBar组件及其子类

ProgressBar继承View类,是SeekBar和RatingBar的父类,代表了进度条组件,主要用于动态显示进度,避免长时间的执行某个操作,更好的提供了界面的友好性。ProgressBar组件及其子类关系图整理如下:

关于ProgressBar的XML属性和方法使用参照文档: Android组件之ProgressBar组件

练习内容:Android代码练习之ProgressBar

5 ViewAnimator组件及其子类

ViewAnimator是一个基类,继承FrameLayout,是ViewSwitcher、ViewFlipper的父类,可以将多个View叠加起来,可以在View切换时表现出动画效果。ViewAnimator组件及其子类关系图整理如下:

关于ViewAnimator的XML属性和方法使用参照文档: Android组件之ViewAdapter组件 

练习内容:Android代码练习之ViewAnimator

6 Dialog 组件及其子类

Dialog是AlertDialog的父类,AlertDialog是ProgressDialog、DatePickerDialog、TimePickerDialog的父类。AlertDialog可以根据图标、标题、内容、按钮生成各种对话框(单选、多选等)。Dialog组件及其子类关系图整理如下:

关于Dialog的XML属性和方法使用参照文档:Android组件之Dialog组件

练习内容:Android代码练习之AlertDialog

7 选项菜单

7.1 Menu菜单组件及其子类

Menu主要分三类:选项菜单OptionMenu、上下文菜单ContextMenu、弹出式菜单PopupMenu,分别用于 放置对应用产生全局影响的操作 搜索/设置、列表型数据的批量操作、增加多个菜单项并为菜单项增加子菜单。关于Menu接口的XML属性和方法使用参照文档:Android组件之Menu接口

练习内容:Android代码练习之Menu

7.2 ActionBar

因为Android系统从3.0版本开始就不再强制要求手机必须提供MENU物理按键,这会导致用户无法打开选项菜单,因此Android提供了ActionBar解决方案。用户可以通过ActionBar右边的折叠图标打开选项菜单。ActionBar可以将选项菜单显示成ActionItem。

ActionBar是继承Object的抽象类,用于显示选项菜单的菜单项,可以使用图标作为返回主屏幕/向上一级的导航操作。关于ActionBar的XML属性和方法使用参照文档:Android组件之ActionBar类

练习内容:Android代码练习之ActionBar

8 其他常见组件简介

8.1 Toast信息提示框 组件功能和用法

Toast组件是直接继承Object的,主要用于显示简单的文字提示信息,该提示信息不会获得焦点,过一会儿会自动消失。关于Toast的XML属性和方法使用参照文档:Android组件之Toast组件

8.2 CalendarView 日历视图 组件功能和用法

CalendarView组件是继承FrameLayout的,可用于显示和选择日期,可以通过滚动显示日历,监听日期变化。关于CalendarView的XML属性和方法使用参照文档:Android组件之CalendarView组件

8.3 DatePicker和TimePicker 日期/事件选择器 组件功能和用法

DatePicker和TimePicker组件是继承FrameLayout的,DatePicker可用于选择日期,TimePicker可用于显示时间,同样也都可以用于监听日期和时间的变化。关于DatePicker和TimePicker组件的XML属性和方法使用参照文档分别如下:

8.4 NumberPicker 数值选择器 组件功能和用法

NumberPicker组件是继承LinearLayout的,可以通过键盘输入数值,也可以通过滑动选择数值。关于NumberPicker组件的XML属性和方法使用参照文档:Android组件之NumberPicker组件

8.5 SearchView 搜索框 组件功能和用法

SearchView组件是继承LinearLayout的,在文本框内输入内容后提交搜索可触发监听器执行实际的搜索。关于SearchView组件的XML属性和方法使用参照文档:Android组件之SearchView组件

8.6 ScrollView 滚动视图 组件功能和用法

ScrollView组件是继承FrameLayout的,主要为普通组件添加垂直滚动条,且最多只能包含一个组件。ScrollView组件的XML属性和方法使用参照文档:Android组件之ScrollView组件

8.7 Notification 通知

Notification组件是直接继承Object的,是用于显示手机状态栏通知的,该组件是具有全局效果的通知,一般用NotificationManager服务来发送Notification通知。Notification组件的XML属性和方法使用参照文档:Android组件之Notification组件

8.8 练习内容总结

练习内容:Android代码练习之其他常用组件

总结

  1. 熟悉组件的继承关系和子类关系 并掌握官网文档中检索组件和API的技巧(Kotlin & java)。
  2. 本章节重在练习,最关键的就是将所有标注的练习内容全部练习完成并理解。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图王大胜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值