【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()
相关推荐
平头哥AI3 小时前
Day 22 _ 包装错误别丢链_%w、errors.Is 与 errors.As
android·服务器·学习·golang·go
聚美智数3 小时前
图片广告检测-图片审核-图片广告识别-图像广告检测
android
早睡早起身体好1236 小时前
用 XGrammar 约束大模型工具调用:解决参数为空的问题
android·人工智能·神经网络·机器学习·自然语言处理·vllm
大佐不会说日语~8 小时前
Android 16 下 uni-app APP 提示“网络连接失败”的排障与修复
android·uni-app
2501_915106329 小时前
苹果App Store上架费用及流程全面解析
android·ios·小程序·https·uni-app·iphone·webview
YF021111 小时前
Android 16系统App开机自启动方案
android
hm宋11 小时前
安卓手机卡顿优化 —— 背景与使用指南
android
OxYGC12 小时前
[Android] [WatchOS]智能手表第一篇: 实用工具与应用推荐
android·智能手表
嘟哩DuliDuli14 小时前
创作 Agent 的任务状态该如何保存
android·java·javascript