前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HenCoder UI 部分 2-2 全新定义 View 的尺寸

HenCoder UI 部分 2-2 全新定义 View 的尺寸

作者头像
扔物线
发布2018-08-20 11:41:08
2590
发布2018-08-20 11:41:08
举报
文章被收录于专栏:HenCoderHenCoder

这期是 HenCoder 布局部分的第二期:重写 onMeasure() 来全新定制自定义 View 的尺寸。

简介

这期虽然距离上期的时间比较久,但主要是我的个人原因,而不是因为这期的内容难。这期的内容还是比较简单的,主要是一些概念和原理上的东西,实操方面非常容易,所以和上期一样,主要把视频看看就差不多啦:

视频内容

总结

和上期一样,这期同样是视频之后就直接是总结。

因为关键点全都在视频里讲清楚了,所以这里只总结一下视频中的关键点:

全新定制尺寸和修改尺寸的最重要区别

需要在计算的同时,保证计算结果满足父 View 给出的的尺寸限制

父 View 的尺寸限制

  1. 由来:开发者的要求(布局文件中 layout_ 打头的属性)经过父 View 处理计算后的更精确的要求;
  2. 限制的分类:
    1. UNSPECIFIED:不限制
    2. AT_MOST:限制上限
    3. EXACTLY:限制固定值

全新定义自定义 View 尺寸的方式

  1. 重新 onMeasure(),并计算出 View 的尺寸;
  2. 使用 resolveSize() 来让子 View 的计算结果符合父 View 的限制(当然,如果你想用自己的方式来满足父 View 的限制也行。

练习项目

没有练习项目。

最近我的工作状态一直很不好,现在也还没有完全恢复,所以各位,这次就没有练习项目了。

下期预告

下期是布局部分的最后一期:重写 onMeasure()onLayout() 来定制 ViewGroup 的内部布局。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 扔物线 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 总结
    • 全新定制尺寸和修改尺寸的最重要区别
      • 父 View 的尺寸限制
        • 全新定义自定义 View 尺寸的方式
        • 练习项目
        • 下期预告
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档