ViewGroup和View的职责分别是什么?

一、ViewGroup的职责:

            (1)给childView计算出建议的宽和高和测量模式;

          (2)决定childView的位置。

 onMeasure()中完成:1.给view传入View的测量值和模式。2.根据此ViewGroup的父控件,完成自己宽和高的确定。

 onLayou()中完成:对其childView的位置的指定。


二、View的职责:

    (1)根据测量模式和ViewGroup给出的建议的宽和高,计算出自己的宽和高(onMeasure()方法中完成)。

    (2)在viewGroup为其指定的区域内绘制自己的形态(onDraw()中完成)。


注解:

   1.上面提到的测量模式有三种:

    (1)EXACTLY:当将控件的layout_width货layout_height属性指定为具体数值或指定为match_parent属性时。

    (2)AT_MOST:当控件的layout_width属性或layout_height属性指定为wrap_content 时。

    (3)unspecified:不指定大小和测量模式。

  2.  (1)View类默认的onMeasure()方法只支持EXACTLY模式,所以如果在自定义控件的时候不重写onMeasure()方法的话,就只能使用EXACTLY模式了。

        (2)要让View支持wrap_content属性,就必须重写onMeasure方法来指定wrap_content时的大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值