在onCreate()方法下调用view的getWidth()方法获取的控件宽度始终为0。正确获取控件尺寸的方法应该是设置一个全局监听,在全局监听中获取控件的尺寸,具体代码如下:
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
//先移除之前的监听
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
//获取控件宽度
int viewWidth = view.getWidth();
//获取控件高度
int viewHeight = view.getHeight();
//下面你就可以拿着控件的尺寸为所欲为了
}
});
问题不大,记录一下。