【Android】在渲染生效前提前测量View大小

问题

Android的UI机制是基于MessageHandler的,View并不会在添加后就会被立刻测量渲染出来

但有时我们需要动态去计算布局,希望在添加View时,就能知道这个View的高度

方法

此时,我们可以手动去调用measure方法,来测量View大小

measure方法需要提供两个spec,我们根据实际情况自己去创建

代码
kotlin 复制代码
view.measure(
  MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
  MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
)
// optional
view.layout(0, 0, view.measuredWidth, view.measuredHeight)
view.requestLayout()
view.invalidate()
相关推荐
知行合一。。。21 分钟前
Python--05--面向对象(属性,方法)
android·开发语言·python
leobertlan26 分钟前
好玩系列:用20元实现快乐保存器
android·人工智能·算法
代龙涛4 小时前
WordPress single.php 文章模板开发详解
android
YF02115 小时前
Flutter 编译卡顿解决方案
android·flutter·ios
空中海6 小时前
第十二章:安卓实战架构与最佳实践
android·架构
angerdream7 小时前
Android手把手编写儿童手机远程监控App之四大组件详解2
android
kerli8 小时前
基于 kmp/cmp 的跨平台图片加载方案 - 适配 Android View/Compose/ios
android·前端·ios
半条-咸鱼9 小时前
基于安卓的 WAV 音频采集方案_含工具
android·音视频
九皇叔叔9 小时前
MySQL8.0 版本安装部署
android·adb