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,所以这个时候能获取到宽高

相关推荐
安小牛1 小时前
Android 开发汉字转带声调的拼音
android·java·学习·android studio
聚美智数1 小时前
企业实际控制人查询-公司实控人查询
android·java·javascript
JMchen1232 小时前
第 3 篇|Android 项目结构解析与第一个界面 —— Hello, CSDN!
android·android studio·android 零基础·android 项目结构·android 界面开发
众少成多积小致巨5 小时前
Soong构建入门
android·go·编译器
笔夏5 小时前
【安卓学习之混淆】记录一些混淆导致闪退
android·学习
阿巴斯甜5 小时前
Kotlin高阶函数和Java 8 lambda的区别:
android
张小潇6 小时前
AOSP15 WMS/AMS系统开发 - WindowManagerService relayout调用流程详解
android
阿巴斯甜6 小时前
Kotlin 高阶函数:
android
之歆6 小时前
Day03_HTML 列表、表格、表单完整指南(下)
android·javascript·html
QING6186 小时前
Kotlin之【init】—— 新手须知
android·kotlin·android jetpack