【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()
相关推荐
我血条子呢4 分钟前
【Vue3组件示例】简单类甘特图组件
android·javascript·甘特图
c***21298 小时前
Springboot3学习(5、Druid使用及配置)
android·学习
修炼者9 小时前
【Android 进阶】别再强转 Context 了!手把手教你优雅解耦 View 与 Activity
android·android studio
x***01069 小时前
SpringSecurity+jwt实现权限认证功能
android·前端·后端
程序员江同学9 小时前
线下活动|2025 Kotlin 中文开发者大会北京分会场
android·kotlin
李坤林10 小时前
Android Vulkan 开启VK_GOOGLE_DISPLAY_TIMING 后,一个vsync 会释放两个imageBuffer现象分析
android·vulkan
Jerry10 小时前
Compose 状态思维
android
k***459911 小时前
MySQL----case的用法
android·数据库·mysql
r***869812 小时前
Plugin ‘mysql_native_password‘ is not loaded`
android·数据库·mysql
v***598312 小时前
MySQL-mysql zip安装包配置教程
android·mysql·adb