ordice

博客园 首页 新随笔 联系 订阅 管理

重写onMeasure():

  为什么要重写onMeasure()?

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

 

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

 

posted on 2019-01-23 12:23  ordice  阅读(86)  评论(0编辑  收藏  举报