如何让linearlayout占据scrollview的整个空间?

时间:2016-08-18 17:58:03

标签: android android-layout android-linearlayout textview android-scrollview

我有一个滚动视图sView占据我的整个屏幕,该屏幕将保持一个线性布局newLL,它也将占据整个屏幕,该屏幕将包含不同数量的文本视图。我希望textview从屏幕底部开始显示,然后当它们填满顶部时变为可滚动。我的问题是,当我添加背景颜色以查看布局的位置时,linearlayout newLL似乎将内容包装在屏幕顶部并且不会填满整个屏幕。这会导致文本视图从上到下而不是自下而上填充。

这是我的相关代码:

ScrollView sView = (ScrollView) findViewById(R.id.scrollView2)
sView.removeAllViews();

LinearLayout newLL = new LinearLayout(this);
newLL.setOrientation(LinearLayout.VERTICAL);

ScrollView.LayoutParams sparams = new ScrollView.LayoutParams(
           ScrollView.LayoutParams.MATCH_PARENT,
           ScrollView.LayoutParams.MATCH_PARENT
);
newLL.setLayoutParams(sparams);
sView.addView(newLL);

注意:当我添加文本视图时,我将它们的重力设置为底部,但由于线性布局包裹并位于顶部,因此它不会执行任何操作。我怀疑我的sparams有问题。

1 个答案:

答案 0 :(得分:2)

您需要将android:fillViewport属性设置为ScrollView。您可以通过放置:

在布局xml中执行此操作
android:fillViewport="true"
滚动视图描述中的

。或者,

ScrollView sView = (ScrollView) findViewById(R.id.scrollView2)
sView.removeAllViews();
sView.setFillViewport(true);