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();

 

你可能感兴趣的:(android,view)