在onCreate或者onResume方法里面,view根本还没有展开,所以获取不倒view的宽高等属性。因此需要给view添加一个监听器,在渲染结束后调用,方法如下:


// 获取到 view渲染完后的宽高等属性的 监听器

ViewTreeObserver observer = view.getViewTreeObserver();

observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

// 在这里可以获取到view的宽高等属性。

if (view.isFocused()) {

changeTitleEdge(view);

}

}

});