Android问题:自定义视图的时候,onMeasure()这个方法有什么用?
2个回答
展开全部
描述View本身大小的多少!
自定义View的时候重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。
我们知道,不管是自定义View还是系统提供的TextView这些,它们都必须放置在LinearLayout等一些ViewGroup中,因此理论上我们可以很好的理解onMeasure(),onLayout(),onDraw()这三个函数:1.View本身大小多少,这由onMeasure()决定;2.View在ViewGroup中的位置如何,这由onLayout()决定;3.绘制View,onDraw()定义了如何绘制这个View。
自定义View的时候重载onMeasure(),onLayout(),onDraw()三个函数构建了自定义View的外观形象。再加上onTouchEvent()等重载视图的行为,可以构建任何我们需要的可感知到的自定义View。
我们知道,不管是自定义View还是系统提供的TextView这些,它们都必须放置在LinearLayout等一些ViewGroup中,因此理论上我们可以很好的理解onMeasure(),onLayout(),onDraw()这三个函数:1.View本身大小多少,这由onMeasure()决定;2.View在ViewGroup中的位置如何,这由onLayout()决定;3.绘制View,onDraw()定义了如何绘制这个View。
追问
读了你 的回答后,我多少理解了 点。想确认下。假如说自定义了一个ViewGroup
onMeasure()方法是测量这个ViewGruop自己的大小,onLayout()是安排这个ViewGruop下的child的位置和大小。然后onDraw()是把这个ViewGroup和它的child一起绘制出来。。
以上理解对不对?
追答
对的,就是这个意思!这也是绘制出一个view的过程,无论事自定义的还是系统的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询