View的测量

从整体看

  • 测量流程:从根View递归调用每一级子View的measure( )方法,对他们进行测量
  • 布局流程:从根View递归调用每一级子View的layout( )方法,把测量过程得出子View的位置和尺寸传给子View,子View保存

从个体看,对于每个View

  1. 运行前,开发者在xml文件里写入对View的布局要求layout_xxx
  2. 父View在自己的onMeasure( )中,根据开发者在xml中写的对子View的要求,和自己的可用空间,得出对子View的具体尺寸要求。
  3. 子View在自己的onMeasure( )中根据自己的特性算出自身的期望尺寸
    • 如果是ViewGroup,还会在这里调用每个子View的measure( )进行测量
  4. 父View在子View计算出期望尺寸后,得出子View的实际尺寸和位置
  5. 子View在自己的layout( )方法中,将父View传进来的自己的实际尺寸和位置保存
    -如果是ViewGroup,还会在onLayout( )里调用每个字View的layout( )把他们尺寸位置给他们
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值