如何测量TabHost的高度,同时考虑所有标签

时间:2018-07-26 11:54:27

标签: android android-layout android-tabhost viewgroup android-framelayout

当我在measure()上使用TabHost时,getMeasuredHeight()总是返回当前活动标签的高度。

是否可以测量整个TabHost的高度,即找出所有标签中的最大高度?

我对这里看到的行为感到有些困惑,因为TabHost被描述为ViewGroup

  

[...]包含两个子项:用户单击以选择的一组选项卡标签   一个特定的选项卡,以及一个FrameLayout对象,该对象显示以下内容   该页面(source

因此我们可以看到它使用了FrameLayout,并且再次根据文档,FrameLayout的尺寸是这样计算的:

  

FrameLayout的大小是其最大子项的大小(加上   填充),可见与否(如果FrameLayout的父级允许)(source

因此,如果FrameLayout的大小始终是最大子项的大小,那么getMeasuredHeight()上的TabHost是否应该自动返回所有标签的最大高度?但事实并非如此。它返回当前活动标签的高度,因此,一旦显示新标签,getMeasuredHeight()返回的高度就会改变。

那么我如何找出TabHost的最大高度?

0 个答案:

没有答案