View是Android中非常重要的一个组件。
回顾一下Android中除了View以外还有哪些比较重要的组件呢?
一:四大组件,Activity、Service、BradCastReceiver、ContentProvider
二:Fragment
三:动画:View动画、帧动画、属性动画
四:Android界面编程的各种组件
一 View简介
1.什么是View?
View是所有控件的基类,我们写程序时用到的TextView、Button、RelativeLayout、RecyclerView等,它们共同的基类都是View,每一个控件从其父代继承属性,如果你有特殊的需求还可以重写控件,实现更加复杂、更有个性的功能。
ViewGroup(控件组):由多个控件组合在一起便是控件组,它的基类也是View,控件组的理念我觉的跟Flutter有点类似,在Fultter中控件有许多小型单用途的控件组合而成,比如Container由LimitedBox、ConstrainedBox、Align、Transform、Decorated、Padding组成,这些控件的结合产生更加强大的效果。
2.为什么需要View?
基础控件满足不了我们的需求
产品提出需求时,某一个功能模块无法用基础控件实现了,这个时候我们就要对基础的控件进行重写或重新写新的控件。而控件的自定义就要对,View知识有比较深入的学习。
复杂界面更好的维护
我们实现比较复杂的功能,需要将多个控件组合起来,而这样的代码有个缺点维护起来比较困难,这个时候我们要自定义化把多个功能自定义成一个控件。Flutter中也有自定义的概念,它给我们提供了StatelessWidget和StatefulWidget两个抽象类,用与自定义控件。
3.自定义View主要有哪几种:
自绘控件
组合控件
继承控件
二自定义View的绘制流程
1.自定义View的属性
2.在View方法中获得我们自定View的属性
3.重写onMeasure(不一定要重写)
4.重写onDraw
我们先用简单的Demo来看看自定义View的绘制流程
网友评论