【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()
相关推荐
我命由我123452 小时前
Android 开发问题:MlKitException: An internal error occurred during initialization.
android·java·java-ee·android jetpack·android-studio·androidx·android runtime
Meteors.3 小时前
Android自定义 View 三核心方法详解
android
2501_916007473 小时前
前端开发常用软件与工具全面指南
android·ios·小程序·https·uni-app·iphone·webview
赏金术士3 小时前
Android Tinker 热修复集成与使用指南 1.9.15.2
android·热修复·tinker
2603_954138395 小时前
安卓误删文件先别慌!5个实用小技巧指南教你补救
android·智能手机
波诺波6 小时前
5-SOFA可变形的3D物体 5-elasticity.scn
android
2501_915909068 小时前
iOS应用性能优化:十大策略提升用户体验与开发效率
android·ios·小程序·https·uni-app·iphone·webview
sun0077008 小时前
打通android全链路,网卡驱动, 内核 , 到上层hal, framework
android
awu的Android笔记8 小时前
Android VpnService:如何把所有流量导入用户态
android
plainGeekDev9 小时前
AlertDialog → DialogFragment
android·java·kotlin