在动态添加视图时,叠加层的高度不匹配_parent

时间:2014-02-06 15:07:41

标签: android relativelayout

我有一个RelativeLayout(A),里面有两个孩子: - LinearLayout(B)(有些东西) - 在它下面我有另一个RelativeLayout(C)

我想在它上面添加一个叠加层。所以我所做的只是添加了一个带有match_parent的视图,因为它的宽度和高度以及透明背景。一切都很好,只要我不动态地向嵌套的RelativeLayout(C)添加视图。

当我这样做时,我的叠加停在最后一个未动态添加到RelativeLayout(C)的元素处。因此叠加层的高度不再匹配_parent。

我尝试绕过它,并在将这些动态添加的视图添加到(C)后添加叠加层,但这也没有做到这一点。

如果通过获取视图主根的getHeight创建所有视图后,我将高度显式设置为叠加层是什么诀窍。然而,这不是我想要的解决方案,因为我想要一个干净的解决方案,我在上面解释过。

目前我所做的就是绕过它,我添加了一个高度很大的叠加层(如2000dip)并将其底部对齐设置为RelativeLayout(C)。这完全可以完成这个技巧(它的效果),但是我仍然不知道为什么添加动态这些视图不会更新叠加层的高度(如果我在之前的视图之后动态添加它)。

提一下,我尝试在添加所有视图后在主容器上执行requestLayout(),invalidate()和postInvalidate()。没有变化。

PS。可能是重要的信息:开头所说的这个根RelativeLayout在LinearLayout中,它是ScrollView的单个子项

0 个答案:

没有答案