很长时间没写! 这次给各位带来一些自定义View中不太让人注意到的原理!
首先,我们先来看一下这个测量模式和参数大小都是对应的:
match_parent
—>EXACTLY。怎么理解呢?match_parent
就是要利用父View给我们提供的所有剩余空间,而父View剩余空间是确定的,也就是这个测量模式的整数里面存放的尺寸。
wrap_content
—>AT_MOST。怎么理解:就是我们想要将大小设置为包裹我们的view内容,那么尺寸大小就是父View给我们作为参考的尺寸,只要不超过这个尺寸就可以啦,具体尺寸就根据我们的需求去设定。
固定尺寸(如100dp)
—>EXACTLY。用户自己指定了尺寸大小,我们就不用再去干涉了,当然是以指定的大小为主啦。
那么,接下来就是今天讲解的自定义View中onMeasure(int widthMeasureSpec, int heightMeasureSpec)这个方法。
在一开始学的时候,喜欢看源码的朋友们就会了解到onMeasure方法中的这俩个参数到底是从谁身上传过来的,看完源码就会有这样的一种