1

У меня есть scrollview sView, который занимает весь мой экран, который будет содержать linearlayout newLL, который также займет весь экран, который будет содержать различные количества текстовых просмотров. Я хочу, чтобы текстовые изображения отображались, начиная с нижней части экрана, а затем стали прокручиваться, когда они заполнялись до вершины. Моя проблема заключается в том, что когда я добавляю цвета фона, чтобы увидеть, где расположены макеты, linearlayout newLL, кажется, обертывает содержимое в верхней части экрана и не заполняет весь экран. Это приводит к тому, что текстовые поля заполняются сверху вниз, а не снизу вверх.Как заставить linearlayout заняться всем пространством прокрутки?

Это мой соответствующий код:

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 sView = (ScrollView) findViewById(R.id.scrollView2) 
sView.removeAllViews(); 
sView.setFillViewport(true); 
+0

Да, не знаю, я должен был это сделать, спасибо! – CookieMonster