滚动视图中的线性布局不占据整个高度

时间:2011-01-27 08:41:08

标签: android

我有一个线性布局说V1,在L1里面我有一个scrollview V2,在内部scrollview我有另一个线性布局V3,现在V3有一个gridtview V4。 pbm是,如果我的列表视图说了6个项目,只有2个是可见的,休息时我必须滚动,即使我看到有足够的空间空置。我设置了背景颜色(V2的背景颜色:洋红色,V3绿色)并观察到: V2涵盖了整个V1 V3仅占V2的30%, V4涵盖了完整的V3。 所以我已经做了几乎所有我可以遵循的一切,以使V3覆盖所有V2,但没有成功。我浪费了很多时间,请告诉我这是否有任何解决方案。

// Scrollview Params 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提供一些硬编码值,它会增加其所有父视图的高度,但我不想这样做,这在我的应用程序中是不可行的

2 个答案:

答案 0 :(得分:31)

只需在setFillViewport(true)上使用ScrollView即可。这样,如果ScrollView的内容小于ScrollView的可见部分,则会将其展开以填充该区域。

答案 1 :(得分:-1)

尝试在L1中设置android:layout_weight =“1”