如何让线性布局占据滚动视图的整个 space?

How do I get the linearlayout to take up the whole space of the scrollview?

我有一个滚动视图 sView 占据了我的整个屏幕,它将容纳一个线性布局 newLL,它也将占据整个屏幕,容纳各种数量的文本视图。我希望文本视图从屏幕底部开始显示,然后在填充到顶部时变为可滚动。我的问题是,当我添加背景颜色以查看布局位置时,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.

有问题

您需要将 android:fillViewport 属性 设置为您的 ScrollView。您可以在布局 xml 中执行此操作,方法是:

android:fillViewport="true"

在滚动视图描述中。或者,

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