如何让线性布局占据滚动视图的整个 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);
我有一个滚动视图 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);