android 在 Activity 的 onCreate 中获取View 的宽高

view 的 post 执行时,首先会判断view 的 mAttatchInfo 是否为空,如果不为空,则将Runnable 添加到mAttachInfo.handler 的 UI线程MessageQueue 中;如果为空,则先将Runnable 暂存在view 的类为HandlerActionQueue的mRunQueue中,在ViewRootImpl 中第一次执行performTransval时执行 dispatchAttachedToWindow ,在这个方法中执行 mRunQueue.executeActions(mAttachInfo.handler),这样就能保证Runnable 运行时获取到获取到view的宽高,因为这个时候首次performTransval已经执行完,首次测量工也会执行完,之后才会执行这个Runnable,所以这个时候能获取到宽高

相关推荐
似霰8 小时前
安卓14移植以太网&&framework-connectivity-t 编译问题
android·framework·安卓·ethernet
Android-Flutter8 小时前
kotlin - 显示HDR图(heic格式),使用GainMap算法,速度从5秒提升到0.6秒
android·kotlin
雨白9 小时前
协程进阶:协作、互斥与共享状态管理
android·kotlin
用户41659673693559 小时前
深度剖析 Android Context:启动 Activity 与 View 创建的“内幕”
android
方白羽10 小时前
Android 唯一UUID方案
android·app
一个小狼娃10 小时前
Android集成Unity避坑指南
android·游戏·unity
川石课堂软件测试10 小时前
Python | 高阶函数基本应用及Decorator装饰器
android·开发语言·数据库·python·功能测试·mysql·单元测试
行走的陀螺仪10 小时前
Flutter 开发环境配置教程
android·前端·flutter·ios
前端与小赵11 小时前
uni-app开发安卓app时控制屏幕常亮不息屏
android·gitee·uni-app
百锦再11 小时前
第8章 模块系统
android·java·开发语言·python·ai·rust·go