Android在作图View之前计算其高度 / 宽度
Android在绘制View之前计算其高度 / 宽度
一般来说, 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();