如何详细理解View中的onMeasure方法及其作用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计758个文字,预计阅读时间需要4分钟。
除非你需要一个100x100像素的控件,否则你必须重写onMeasure方法。onMeasure方法在控件的父元素正确设置其子控件大小时被调用。它会询问一个问题:你想要多大尺寸的空间?然后传入一个参数。
除非你总是需要一个100×100像素的控件,否则,你必须要重写onMeasure。 onMeasure方法在控件的父元素正要放置它的子控件时调用。它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec。 它们指明控件可获得的空间以及关于这个空间描述的元数据。 比返回一个结果要好的方法是你传递View的高度和宽度到setMeasuredDimension方法里。 接下来的代码片段给出了如何重写onMeasure。注意,调用的本地空方法是来计算高度和宽度的。它们会译解widthHeightSpec和heightMeasureSpec值,并计算出合适的高度和宽度值。
本文共计758个文字,预计阅读时间需要4分钟。
除非你需要一个100x100像素的控件,否则你必须重写onMeasure方法。onMeasure方法在控件的父元素正确设置其子控件大小时被调用。它会询问一个问题:你想要多大尺寸的空间?然后传入一个参数。
除非你总是需要一个100×100像素的控件,否则,你必须要重写onMeasure。 onMeasure方法在控件的父元素正要放置它的子控件时调用。它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec。 它们指明控件可获得的空间以及关于这个空间描述的元数据。 比返回一个结果要好的方法是你传递View的高度和宽度到setMeasuredDimension方法里。 接下来的代码片段给出了如何重写onMeasure。注意,调用的本地空方法是来计算高度和宽度的。它们会译解widthHeightSpec和heightMeasureSpec值,并计算出合适的高度和宽度值。

