【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()
相关推荐
91刘仁德5 小时前
MYSQL 事务原理及使用
android·mysql·adb
一笑的小酒馆7 小时前
AndroidKMP之瀑布流实现
android
RainyJiang7 小时前
AI时代下,Android的边界正在消失
android·openai·ai编程
Android-Flutter8 小时前
android 内存抖动详解
android
方白羽9 小时前
为什么 Android 非要用 Intent 传值?
android·ios·harmonyos
方白羽12 小时前
Android17 重写 MessageQueue,解决 Handler 隐性卡顿
android·app
蜡台12 小时前
Kotlin 零基础完整版实战教程|从语法入门到Android工程实战
android·开发语言·kotlin
律宏阔13 小时前
Android 车载 USB 开发笔记:USB Host、USB 串口、USB-CAN、HID 与系统 API
android
律宏阔13 小时前
Android 车载串口开发笔记:UART、RS232、RS485、串口配置与数据通信
android
YF021114 小时前
遥控器APP端自动重连方案
android