什么是安卓视图的测量状态?

4
我很难找到有关Android视图概念中“测量状态”的示例用法或解释。
请注意,这与测量宽度和测量高度不同。在Android文档中有更详细的说明。
1个回答

4
一般情况下,视图具有所需的宽度和高度,并受到两个因素的限制。
第一个限制是View依附的父View,这将描述View的最大宽度和大小。如果View要求比父View更宽或更高,则测量高度和测量宽度将被限制,以使值不大于父View的值。这些值可以是MATCH_PARENT、WRAP_CONTENT或dp值,在包括父View的宽度和高度限制后,这些值将转换为测量宽度和高度。这保证了没有子View比其父View更大。
第二个限制来自View的兄弟姐妹,换句话说,来自附加到同一布局的其他View。ViewGroup(Layout)将解析View的宽度和高度,以便正确显示。这些已解析的宽度和高度是从getWidth()和getHeight()获得的值。
在Android开发门户网站上有很多好的文档。特别是看看View类的Layout部分:http://developer.android.com/reference/android/view/View.html#Layout 编辑:对您的问题有误解表示歉意。我已经查看了视图的测量状态的概念,并且只找到了单个记录状态:MEASURED_STATE_TOO_SMALL。这让我相信它的使用可能非常有限,它的存在主要是为了未来的功能或由自定义视图/ViewGroups使用。
MEASURED_STATE_TOO_SMALL的文档如下:
「getMeasuredWidthAndState()和getMeasuredHeightAndState()的位,表示测量大小小于View想要的空间。」
这使我相信,当View给予固定的dp/px值时,它比父级的宽度和高度更大,因此View的测量宽度和高度将被缩小,该位将被设置。
如果您找到更多状态或其他信息,则更新问题。最好的祝愿!

1
感谢您的回复。我实际上是在询问“测量状态”,而不是“测量宽度”或“测量高度”。我会更新问题以使其更清晰。 - Julian A.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接