1

我有一个滚动视图sView,占用我的整个屏幕,将保持一个线性布局newLL,也将占用整个屏幕,将举行不同数量的文字浏览。我希望textviews从屏幕底部开始显示,然后当它们填满顶部时变为可滚动。我的问题是,当我添加背景颜色以查看布局的位置时,线性布局newLL似乎将内容封装在屏幕的顶部,并且不会填满整个屏幕。这导致textviews从上而下而不是从下往上填充。如何让linearlayout占据scrollview的整个空间?

这是我的相关代码:

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); 

注:当我在textviews补充,我设置它们的重力底部,但由于LinearLayout中包裹和在顶部,它不会做任何事情。我怀疑我的sparams有什么问题。

回答

2

您需要将android:fillViewport财产设置为您的ScrollView。你可以在布局xml中通过放置:

android:fillViewport="true" 

在scrollview描述中。或者,

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

呵呵,不知道我必须那样做,谢谢! – CookieMonster