8

HenCoder Android 自定义 View 2-2 全新定义 View 的尺寸

 3 years ago
source link: https://hencoder.com/ui-2-2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

自定义 View 2-2 全新定义 View 的尺寸

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

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

在页面里看不到视频的,可以点击 这里 去 B 站看;在海外看得卡的,可以点击 这里 去 YouTube 看。

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

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

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

需要在计算的同时,保证计算结果满足父 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 的内部布局。

那就关注一下?↓↓↓

006tNc79ly1fl6z2sve5kj30p00bx40b.jpg


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK