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