android – 什么决定了视图实际显示的时间?

前端之家收集整理的这篇文章主要介绍了android – 什么决定了视图实际显示的时间?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的主要活动中,我在onCreate中调用setContentView.然后在onResume中我启动一个服务,如果它是第一次进入服务,它会创建一个警报并停止.我希望在调用setContentView时显示布局,但单步执行调试器表明它在服务返回之前不会出现.

一旦调用setContentView,它是否应该显示

编辑

似乎在第一个应用程序(MAIN / LAUNCHER)的开头没有调用onWindowFocusChanged.
通过调试,似乎发生以下情况: –
MAIN onCreate – onStart – onResume(这是服务启动的地方)
SERVICE类 – onStart – 服务返回
MAIN -onResume – onWindowsFocusChanged(屏幕首次出现)

我看过的图表说活动是从onStart开始的,但第一个活动似乎并非如此.有没有办法强制屏幕在开幕处查看?

解决方法

内容视图是在调用setContentView()之后立即定义的,因此您可以直接从此处开始使用findViewById()并管理用户界面的视图.

但:

> onResume()返回之前不显示视图.这实际上是onResume()的目的之一:每次Activity都在前台调用它,因此就在实际显示用户界面之前调用它.
>这并不意味着即使显示UI,此时UI也是可见的.例如,它可以被锁屏隐藏.当用户界面实际可见时(刚刚获得焦点时),将调用onWindowFocusChanged(true).

因此,用户界面显示和可见的时刻介于onResume()(之前调用)和onWindowFocusChanged(true)之间(之后调用).

猜你在找的Android相关文章