android--------自定义控件(一)

在我们平常的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:用于对视图进行绘制;

这三个方法很重要,下一篇博客在详细讲解

猜你喜欢

转载自my.oschina.net/zhangqie/blog/1803263