项目需要在UI中获取其中一个控件的位置,在oncreate中直接获取发现参数全为零,获取失败。网上查询知道原来需要等到整个换面加载完才可以获取到位置信息。特来记录下以备以后查询
获取空间屏幕位置:
Rect rect = new Rect();
int location[] = new int[2];
mPlaySurfaceView.getLocationOnScreen(location); //获取屏幕中位置
rect.left = location[0];
rect.top = location[1];
rect.right = rect.left + mPlaySurfaceView.getWidth();
rect.bottom = rect.top + mPlaySurfaceView.getHeight();
UI加载完标志:
isfirst = true;
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus && isfirst) {
//获取屏幕位置,可以争取获取到位置参数。
isfirst = false;
}
做了isfirst标志,记录是否是新建的时候进入。