View的测量

来源:互联网 发布:人工智能ai技术展会 编辑:程序博客网 时间:2024/05/03 16:12
OnMeasure方法

在绘制View之前,还是说一下系统是如何测量View的,在Android中,我们绘制一个图像之前,需要知道一个View的大小和位置,不然我们将无法绘制图形(如下图,类似于蒙眼作画

).这个过程是在View的函数OnMeasure方法中执行的,最后我们可以 调用SetMeasuredDimension方法来设置测量后的View的大小

蒙眼作画

MeasureSpec类

在安卓中,系统提供了MeasureSpec类帮助我们测量View的模式和大小.我们可以具体的调用MeasSpec.getMode和MeasureSqec.getSize来获取模式和大小.测量的模式通常可以有以下三种::

EXACTLY:表示设置了精确的值,一般当View设置其宽、高为精确值、match_parent时,ViewGroup会将其设置为EXACTLY;

AT_MOST:表示子布局被限制在一个最大值内,一般当View设置其宽、高为wrap_content时,ViewGroup会将其设置为AT_MOST;

UNSPECIFIED:表示子布局想要多大就多大,一般出现在View的item的heightMode中、ScrollView的childView的heightMode中;此种模式比较少见。




0 0
原创粉丝点击