1

Ich habe eine scrollview sView, die meinen gesamten Bildschirm, der ein lineares Layout newLL halten wird, die auch den gesamten Bildschirm, der verschiedene Anzahl von Textviews aufnehmen wird nimmt. Ich möchte, dass die Textansichten am unteren Bildschirmrand angezeigt werden und dann scrollbar werden, wenn sie bis zum oberen Rand gefüllt sind. Mein Problem ist, dass, wenn ich Hintergrundfarben hinzufüge, um zu sehen, wo Layouts sind, das Linearlayout newLL den Inhalt am oberen Rand des Bildschirms einhüllt und nicht den ganzen Bildschirm ausfüllt. Dadurch werden die Textansichten von oben nach unten und nicht von unten nach oben gefüllt.Wie bekomme ich das lineare Layout, um den gesamten Platz des scrollview zu belegen?

Dies ist mein entsprechender Code:

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

Hinweis: Wenn ich in der Textviews hinzuzufügen, habe ich ihre Schwerkraft nach unten, aber da dem Linearlayout Wraps und bin an der Spitze, es tut nichts. Ich vermute etwas falsch mit meinem sparams.

Antwort

2

Sie müssen android:fillViewport Eigenschaft zu Ihrem ScrollView setzen. Sie können dies entweder im Layout xml tun, indem Sie:

android:fillViewport="true" 

innerhalb der scrollview description. Oder,

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

Huh, wusste nicht, dass ich das tun musste, danke! – CookieMonster

Verwandte Themen