在我们Android中有着大量的系统控件,一般在开发中,总是有着一些系统控件完成不了的功能,这时候就需要用到我们的自定义控件了,作为一个Android Coder,可以说,自定义View是我们通往高阶的必经之路,所以自定义view对我们来说还是比较重要的。
首先,我们要自定义view,那我们要去继承系统的View,继承之后系统要求我们实现4个构造方法。这四个构造方法根据参数分别对应下面几种情况。
1.在java代码中直接new出来的View会去调用第一个构造方法。
2.在xml文件中布局,如果没有style的话,他会去调用第二个构造方法。
3.同样在xml文件中创建view,如果有style或者theme的话,就要用的第三个和第四个构造函数了。
其实一般来说,只要有前面两种就能满足我们的大部分需求了。我们的自定义view一般需要一些自定义的属性,自定义的属性通过构造方法中的AttributeSet传入,然后解析出来。
图1.1
接下来,要自定义我们的view,首先我们要知道我们view的大小,我们可以在onMeasure方法中对我们的view进行测量,计算出view的大小,测量view我们这里先暂且不讲,等下节说。
图1.2
测量之后,我们就要将我们想自定义的view画出来,这在onDraw方法里面实现,其中有关于Paint,Canvas,Path...等很多用来画view的类。这些也后面一一再讲。
图1.3
基本上一个简单的自定义view流程完成这些也就差不多了。
网友评论