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

相关推荐
拾光Ծ37 分钟前
【MySQL】对表数据的操作:增删查改(CRUD)
android·数据库·sql·mysql
一笑的小酒馆10 小时前
Android中的tcp通信
android
默阳123414 小时前
2026年Android中高级面试题专栏(Android进阶篇)
android
古法安卓14 小时前
Android-日志系统源码解析
android·java·android studio
恋猫de小郭15 小时前
Android 17 + OkHttp 5.5.0 ,全新 ECH 下你的 HTTPS 域名可以请求时被安全隐藏
android·前端·flutter
小强闯江湖15 小时前
不只是让 AI 写代码:ViewCompose 把 Android UI 做成了可编译、可渲染的闭环
android·人工智能·kotlin
hunterandroid17 小时前
StateFlow 与 SharedFlow 的边界:状态与事件的正确建模
android·前端
YF021117 小时前
Android遥控器对频详解
android·android things
码农coding18 小时前
android12 WindowManagerService窗口的布局过程
android·源码
杉氧20 小时前
状态管理变迁史:为什么我们放弃了 Redux 选择 Zustand?
android·前端·react native