android——View/ViewGroup的"生命周期"

本文总结了Android中View和ViewGroup的生命周期,包括onCreate、onResume后的onAttachedToWindow适合做初始化,onDraw与dispatchDraw的区别,以及onDetachedFromWindow用于收尾工作。在创建过程中,onMeasure和onLayout会被多次调用。点击返回键时,如果有背景,ViewGroup会调用draw,否则只调用dispatchDraw。
摘要由CSDN通过智能技术生成

如题View与ViewGroup里的方法调用过程总结如下:

1.首先,Activity onCreate并初始化view

2.然后,Activity onResume后调用view的onAttachedToWindow,因此常常在onAttachedToWindow方法中做初始化工作,比如注册一些广播、开始动画等等……

3.接下来,如果设置了背景则调用onDraw,之后倘若是viewgroup则调用dispatchDraw。

说明:dispatchDraw()主要是分发给子组件进行绘制,我们通常定制组件的时候重写的是onDraw()方法。值得注意的是ViewGroup容器组件的绘制,当它没有背景时直接调用的是dispatchDraw()方法, 而绕过了draw()方法,当它有背景的时候就调用draw()方法,而draw()方法里包含了dispatchDraw()方法的调用。因此要在ViewGroup上绘制东西的时候往往重写的是dispatchDraw()方法而不是onDraw()方法,或者自定制一个Drawable,重写它的draw(Canvas c)和 getIntrinsicWidth(),getIntrinsicHeight()方法,然后设为背景。

4.最后,当点击回退键时,Activity onDestroy

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值