这是我参与「第四届青训营 」笔记创作活动的第2天
(内容为《常规&高级UI编程》课程笔记)
一、课程知识板块
1.UI组件---------2.布局---------3.渲染
4.交互------------5.动画---------6.自定义UI
二、主要内容
UI组件
课程以经典的“What-Why-How”思考法进行引入,对安卓UI进行总的介绍。
UI缩写的全称是UserInterface,UI界面是有多个不同功能的UI组件拼成的,而UI组件又分为常规组件和高级组件两个大类。
常规UI组件大多是View,由Android Framework中的android.widget包提供。
常用的常规UI组件有:文本组件、图片组件、按钮组件、输入框组件、复选框组件、单选按钮等等。
常规UI组件的属性和方法如下——
高级UI组件则大多是ViewGroup,比常规UI组件有更多的功能。
View与ViewGroup的具体关系如下图——
布局
要用多个UI组件构成一个页面,需要注意每个组件的大小、摆放位置以及组件之间的层级关系。
这一部分中主要讲解布局案例,如LinearLayout、RelativeLayout、FrameLayout和ConstraintLayout这几种的布局示例,以下是这几个常用布局的介绍图:
渲染&交互&动画
·布局页面需要要经过布局加载、布局解析和布局渲染三个步骤。具体过程为——
布局加载中要先编写布局文件,然后注册Manifest,接着设置布局文件。
而后调用LayoutInflater方法,进行布局解析:
先进行XML文件解析,然后根据XML文件生成View实例,再将View实例添加到ViewGroup中
布局渲染则要经过页面绘制与UI渲染过程。
·这一部分,老师以一段给按钮设置点击事件监听器的代码为例,展示安卓开发中的交互是怎样实现的。
衔接View实例讲解findViewById,并归纳了常用交互事件监听器的知识表格。
·常用的动画类型
帧动画
--在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。
补间动画
--由计算机自动运算得到插补帧,并在两个关键帧中间需要做“补间”,实现图画的运动。
属性动画
--随着时间的推移去改变物体的属性,如物体的坐标、运动时间以及形状大小等,让某个事物运动。
自定义UI
这一部分是前面各部分知识点集大成的应用,课中分别举例为我们讲解了怎样创建View、处理View布局、绘制View、处理用户交互与动画,为整节课内容进行了一个收尾,让大家整节课下来收获到干货满满。