有时想在Activity加载完成之后进行一些操作,比如在根据界面上的控件大小设置边距——在Activity还没加载完毕时,通过getHeight、getWidth返回都会是为0,因为此时控件还没画出来呢,所以无论是在onResume还是onCreate都是无法获取到控件大小的。
此时我们就可以重载另一个回调方法onWindowFocusChanged(boolean hasFocus),这个方法是在Activity得到或者失去焦点的时候就会回调,其中hasFocus表示Activity是获取到焦点还是失去焦点。
即当Activity加载完毕显示时,会调用onWindowFocusChanged,并且hasFocus为true;
当Activity被失去焦点,会调用onWindowFocusChanged,并且hasFocus为false。
这样就可以进行各自相应的操作了。
本文介绍如何在Android开发中使用onWindowFocusChanged方法来响应Activity获得或失去焦点的事件,尤其适用于需要根据控件实际大小进行布局调整的情况。
799

被折叠的 条评论
为什么被折叠?



