在生命周期中onWindowFocusChanged后有什么东西吗?

时间:2015-03-17 14:59:22

标签: android imageview

我正在使用它来获得imageView的宽度和高度。

 @Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    imageViewHeight = imageView.getHeight();
    imageViewWidth = imageView.getWidth();

//        System.out.println("Imageview -   Width: " + imageViewWidth + " " + "Height :" + imageViewHeight);
}

我要编写的此活动中的处理依赖于这些变量,所以一切都必须从这里开始。这可以吗?我试过onCreate,onStart和onResume,它们都来自于onWindowFocusChanged。

由于

1 个答案:

答案 0 :(得分:1)

正如我所检查的那样,它最后被调用,当活动获得焦点时,但根据API文档,它并不完全可靠。但是在大多数情况下都可以使用。 还要确保使用变量hasfocus,因为当显示对话框或某个系统级别警报或者您的激活重新开始时,onWindowFocusChanged将是hasfocus作为false调用的第一个。{{1}}。它可能会带来一些不可预测的问题。