在onCreate()方法里直接获取宽高得到都为0 ,这是因为布局还没有加载完成
下面提供二种获取宽高的方法:
一、使用measure
view.measure(0,0); //View.MeasureSpec.UNSPECIFIED的值,表示不限定
int width = getMeasuredWidth();
int height = getMeasuredHeight();
二、使用监听器
view.getViewTreeObserver().addOnPreDrawListener(preDrawLis);
OnPreDrawListener preDrawLis = new OnPreDrawListener() {
public boolean onPreDraw() {
//加载完布局后的操作
int width = view.getWidth;
int height = view.getHeight
return true;
}
};
参考:http://blog.youkuaiyun.com/johnny901114/article/details/7839512