【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()
相关推荐
StackNoOverflow37 分钟前
MySQL Explain 返回列详解:从入门到实战,附 SQL 与避坑大全
android
CYRUS_STUDIO9 小时前
Frida 检测与对抗实战:进程、maps、线程、符号全特征清除
android·逆向
csj5010 小时前
安卓基础之《(28)—Service组件》
android
lhbian12 小时前
PHP、C++和C语言对比:哪个更适合你?
android·数据库·spring boot·mysql·kafka
catoop13 小时前
Android 最佳实践、分层架构与全流程解析(2025)
android
ZHANG13HAO14 小时前
Android 13 特权应用(Android Studio 开发)调用 AOSP 隐藏 API 完整教程
android·ide·android studio
田梓燊14 小时前
leetcode 142
android·java·leetcode
angerdream14 小时前
Android手把手编写儿童手机远程监控App之JAVA基础
android
菠萝地亚狂想曲15 小时前
Zephyr_01, environment
android·java·javascript
sTone8737515 小时前
跨端框架通信机制全解析:从 URL Schema 到 JSI 到 Platform Channel
android·前端