viewAndroid自定义view和动画

自定义ViewGroup(一)

2017-01-13  本文已影响64人  ReturnYHH

在Android开发中,自定义view估计大家不陌生,也是大家最头疼的事,如果想学好自定义view,得需要花费一定的时间和精力,在开发中,我们除了自定义view,还有另外一个知识点,自定义viewGroup,下面是我学习自定义viewGroup的一些看法和理解


什么是自定义viewGroup

自定义viewGroup我们可以简单理解为自定义layout,相信LinearLayout,RelativeLayout等大家都不陌生,当在开发之中这些原生的layout不能满足我们需求的时候,我们就需要自定义layout去实现了


viewGroup和view的差别

自定义view是针对某一个view去实现,而viewGroup是一个布局,它里面可以包含view,在自定义viewGroup中,我们需要针对不同的view来进行合理的排列


viewGroup需要用到什么方法

在自定义viewGroup中,它比自定义view的实现多了一个onLayout方法,该方法决定了它的子view的排放,其他的方法跟自定义view一样,onMeasure,onDraw,但是,它的使用方式跟自定义view有所不同,下面我们来看看怎么不一样


onMeasure

这个方法主要是测量,它跟自定义view的测量方式有所差别,自定义view主要是测量本身的宽高,而它则需要测量子view的宽高,在根据子view的宽高来确定layout的宽高,很容易理解,因为viewGroup是一个布局,它可以包含很多个子view,那么它的宽高自然是有子view的宽高总和来决定


onLayout

这个方法主要是确定子view在viewGroup中的位置,它决定了子view在viewGroup中的定位,我们来看看它的方法:

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {}

第一个参数是判断子view是否有改变,第二个参数到最后一个参数分别是:左,右,上,下,表示子view的位置


onDraw

这个方法就比较简单,主要将viewGroup绘制到画布上
好了,简单的介绍下自定义viewGroup,下篇通过个简单的例子来试试

上一篇下一篇

猜你喜欢

热点阅读