在我们平常的Android开发中经常和控件打交道,有时Android提供的控件未必能满足业务的需求,这个时候就需要我们实现自定义一些控件
自定义控件可以设计出很多你想要的功能和模块,在开发中是很重要的一部分。
自定义View的价值
-
能够做到基础控件无法做到的效果,为应用的表现增色;
-
在多个应用并行开发的团队,将公用的交互效果提取成自定义控件,方便复用,减少不必要的重复劳动;
-
将控件的内部逻辑封装在自定义View中,便于应用内解耦;
流程图:
自定义控件两种方式:
1. 继承ViewGroup
自定义ViewGroup一般是利用现有的组件根据特定的布局方式来组成新的组件,大多继承自ViewGroup或各种Layout,包含有子View。
例如:ViewGroup、LinearLayout、FrameLayout、RelativeLayout等。
2. 继承View
在没有现成的View,需要自己实现的时候,就使用自定义View,一般继承自View,SurfaceView或其他的View,不包含子View。
例如:View、TextView、ImageView、Button等。
View的三大核心方法onMeasure、onLayout、onDraw
-
onMeasure:用于测量视图的大小;
-
onLayout:用于给视图进行布局;
-
onDraw:用于对视图进行绘制;
这三个方法很重要,下一篇博客在详细讲解
来源:oschina
链接:https://my.oschina.net/u/2945455/blog/1803263