我有一个线性布局说V1,在L1内部我有一个滚动视图V2,在滚动视图内部我有另一个线性布局V3,现在V3有一个gridtview V4。 PBM 是,如果我的列表视图有 6 个项目,则只有 2 个项目可见,对于其余的,即使我看到有足够的空白空间,我也必须滚动。我设置了背景颜色(V2 的背景颜色:洋红色,V3 的绿色)并观察到:
V2覆盖了整个V1
V3 只覆盖了 V2 的一小部分,比如 30%,
V4 覆盖了完整的 V3。
所以我已经做了几乎所有我能做的事情来让V3覆盖V2的所有内容,但没有成功。我在这上面浪费了很多时间,请告诉我这是否有任何解决方案。
//滚动视图参数V2
LinearLayout.LayoutParams svParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,1.0F);
所以我尝试过的所有这些方法都不起作用:
V3.getLayoutParams().height = V2.getHeight();
//((LinearLayout)gv.getParent()).getLayoutParams().height = LinearLayout.LayoutParams.FILL_PARENT;
//((LinearLayout.LayoutParams)((LinearLayout)gv.getParent()).getLayoutParams()).weight = 1.0F;
//((LinearLayout) ((LinearLayout)gv.getParent()).getParent()).getLayoutParams().height = LinearLayout.LayoutParams.FILL_PARENT;
但是如果我为 V4 提供一些硬编码值,它确实会增加其所有父视图的高度,但我不想这样做,这在我的应用程序中是不可行的
只需使用setFillViewport(true)
on the ScrollView
。这样,如果内容ScrollView
小于可见部分ScrollView
,它将扩展到填充该区域。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)