生命周期中onWindowFocusChanged之后有没有什么?
Is there anything that comes after onWindowFocusChanged in the life cycle?
我正在使用它来获得 imageView 的宽度和高度。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
imageViewHeight = imageView.getHeight();
imageViewWidth = imageView.getWidth();
// System.out.println("Imageview - Width: " + imageViewWidth + " " + "Height :" + imageViewHeight);
}
我将要编写的 activity 中的处理依赖于这些变量,因此一切都必须从这里开始。那样行吗?我尝试了 onCreate、onStart 和 onResume,它们都在 onWindowFocusChanged 之前出现。
谢谢
正如我所检查的那样,它是最后一次调用并且当 activity 获得焦点时,但根据 API 文档,它并不完全可靠。但在大多数情况下都会起作用。
还要确保使用变量 hasfocus,因为当显示对话框或某些系统级警报或您的活动返回地面时,onWindowFocusChanged
将是第一个被调用的 hasfocus
为 false。可能会出现一些不可预知的问题。
我正在使用它来获得 imageView 的宽度和高度。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
imageViewHeight = imageView.getHeight();
imageViewWidth = imageView.getWidth();
// System.out.println("Imageview - Width: " + imageViewWidth + " " + "Height :" + imageViewHeight);
}
我将要编写的 activity 中的处理依赖于这些变量,因此一切都必须从这里开始。那样行吗?我尝试了 onCreate、onStart 和 onResume,它们都在 onWindowFocusChanged 之前出现。
谢谢
正如我所检查的那样,它是最后一次调用并且当 activity 获得焦点时,但根据 API 文档,它并不完全可靠。但在大多数情况下都会起作用。
还要确保使用变量 hasfocus,因为当显示对话框或某些系统级警报或您的活动返回地面时,onWindowFocusChanged
将是第一个被调用的 hasfocus
为 false。可能会出现一些不可预知的问题。