自定义view的入门

在安卓的开发中会发现有很多功能用原生很不容易实现,而使用了自定义view之后会变得容易了许多,所以对于android开发来说自定义view是相当重要的。然而自定义view的文章非常多,看了之后却也没有掌握学习自定义View的正确姿势,所以我们今天就来入门下自定义view。
在这里,我尝试用最简单方式跟初学者说一下如何自定义一个自己的view。
首先,最简单最简单的自定义view,有多简单?简单到没有逻辑,没有任何自带属性,只是简单展示,譬如,我制作一个圆形图片。
第一步,创建你的自定义类,让它继承View类,并重写构造方法。
第二步,重写ondraw()方法。
比如,我创建了这个自定义类名字叫做circleImageView,如下图所示:
这里写图片描述
注意,这里有两个默认的构造器方法,circleImageView(Context context)和circleImageView(Context context,AttributeSet arrts)
其中circleImageView(Context context)这个方法是你动态new的时候调用的,而circleImageView(Context context,AttributeSet arrts)这个方法是你在xml文件中调用才会调用这个方法。如下图,直接将标签定义为类名便可以了:
这里写图片描述
然后第二步,重写ondraw()方法!
在这里简单说一下,ondraw(),顾名思义就是画画方法,在自定义组件时候,其实内部可以简单分为三个步骤,也就是三大方法,onMeasure,onLayout,ondraw,这些方法在自定义组件中依次运行,先onMeasure获得组件大小,再onLayout知道组件布局位置,最后ondraw将组件渲染画出来,但是其实在自定义组件中onMeasure和onLayout不是必须重写的,所以在这里我先不说,后面再讲,就说这个ondraw方法,这个是必须实现的方法。
在上面的构造器方法中,我已经在组件初始化的时候便将要显示的图片初始化伟bitmap了
这里写图片描述
嗯,就是上面那个方法
接下来我们要做的就是将这个bitmap截成一个圆形,在这里我写了一个圆形方法,如下图:
这里写图片描述
好啦,画圆方法写好啦,最后就是在ondraw里面调用画画方法就好了,如下图
这里写图片描述
这样自定义的圆形view就做好了。
当然这只是依葫芦画瓢,想要自己熟练做出自定义view还需要经行更多的学习。
在最后,根据Android Developers官网的介绍,自定义控件你需要以下的步骤。(根据你的需要,某些步骤可以省略)
1、创建View
2、处理View的布局
3、绘制View
4、与用户进行交互
5、优化已定义的View
上面列出的五项就是android官方给出的自定义控件的步骤。每个步骤里面又包括了很多细小的知识点。我们可以记住这五个点,并且了解每个点里包含的小知识点。再加上一些自定义控件的练习。不断的将这些知识熟练于心,相信我们每个人都能够定义出优秀的自定义控件。

猜你喜欢

转载自blog.csdn.net/qq_25856445/article/details/80669646