您的位置:首页 > 移动开发 > Android开发

Android onWindowFocusChanged函数详解

2016-04-21 18:20 495 查看
Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。

当onWindowFocusChanged被执行起,用户可以与应用进行交互了。获取view的宽高以及位置可以试着在onWindowFocusChanged()里面调用。

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
layout_yewufenbuanddapanTop = layout_yewufenbureplace.getTop();//获取控件在整个Activity里的位置
layout_newsannouncereportTop = layout_newsannouncereportplace.getTop();
layout_jiankuangTop=layout_jiankuangreplace.getTop();
}
}

有个问题,要是该控件的上面有个View 的显示visible 一会为gone,一会为Viesible,这样获取到的位置是不准的。

解决方法是判断要是view显示的时候,重新获取view 的位置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android