一般来说, View是需要在绘制到界面之后才能取到它的宽度 / 高度.
如果需要在绘制之前就取到这些值, 则需要主动调用View的measure方法, 来提前计算其尺寸. 如下:
final DisplayMetrics dm = mContext.getResources().getDisplayMetrics();
viewToMeasure.measure(
View.MeasureSpec.makeMeasureSpec(dm.widthPixels, View.MeasureSpec.AT_MOST),
View.MeasureSpec.makeMeasureSpec(dm.heightPixels, View.MeasureSpec.AT_MOST));
final int width = viewToMeasure.getMeasuredWidth();
final int height = view.getMeasuredHeight();