【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()
相关推荐
weiggle8 小时前
第七篇:状态提升与单向数据流——架构设计的核心
android
xingpanvip8 小时前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
goldenrolan8 小时前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
AC赳赳老秦9 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
骇客之技术10 小时前
AutoLua:在安卓上写 Lua 脚本
android·junit·lua
kiros_wang11 小时前
Android 常见面试题
android
货拉拉技术11 小时前
Hook植入日志协助定位问题方案
android
FlightYe12 小时前
Android投屏MirrorCast全链路
android
Ehtan_Zheng12 小时前
Kotlin const val vs val:字节码、性能与隐藏陷阱详解
android·kotlin
墨狂之逸才12 小时前
Android TV 垃圾应用清理指南
android