【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()
相关推荐
_李小白17 分钟前
【Android FrameWork】第二十九天:MediaPlayer和MediaRecorder
android
casual_clover28 分钟前
【Android】通过 Paint 获取文本宽度、高度及行间距信息
android·文本字体宽高
游戏开发爱好者81 小时前
苹果App Store应用程序上架方式全面指南
android·小程序·https·uni-app·iphone·webview
2501_916008891 小时前
深入理解 iPhone 文件管理,从沙盒结构到开发调试的多工具协同实践
android·ios·小程序·https·uni-app·iphone·webview
千里马学框架1 小时前
聊一聊豆包AI手机助手高度敏感权限CAPTURE_SECURE_VIDEO_OUTPUT
android·ai·智能手机·安卓framework开发·车载开发·豆包手机助手
正经教主2 小时前
【Trae+AI】和Trae学习搭建App_1.2:第2章·App开发环境配置
android·学习·android studio
pandarking2 小时前
[CTF]攻防世界:love_math
android·web安全·网络安全
非凡ghost2 小时前
Brightness.Manager.OK(显示器亮度调节软件)
android·智能手机·计算机外设·软件需求
_李小白2 小时前
【Android FrameWork】延伸阅读:MediaRecorder状态机
android
陌sr,2 小时前
关于TMK的生成及安全注入方式
android·运维·服务器·安全·pos机·edc·刷卡