我有一个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的单个子项