android -自定义view

重写onMeasure():

  为什么要重写onMeasure()?

我们通过MeasureSpec类来测量view,他是一个32位的int值,其中高2位为测量的模式,低30位为测量的大小,如果不重写onMeasure(),当在xml中使用wrap_content时,android会将控件铺满屏幕,所以重写onMeasure的目的就是给wrap_content一个默认大小。

MeasureSpec类的模式有三种,EXACTLY、AT_MOST、UNSPECIFIED,如果不重写onMeasure(),就只能使用EXACTLY模式,使用精确的值来控制控件的大小。

猜你喜欢

转载自www.cnblogs.com/ordice/p/10308211.html