2016-07-25 7 views
0

Ich habe ein Problem mit meiner ScrollView. Ich möchte es in den verfügbaren Platz passen, aber ich weiß nicht wie.Fit Scroll Ansicht zu verfügbaren Speicherplatz in Android

Jetzt habe ich meine Scroll und meine Textview vor einem Linearlayout:

 <ScrollView 
     android:id="@+id/scrollView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:fillViewport="true" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/previousimage" 
     android:layout_marginTop="@dimen/margin"> 


     <TextView 
      android:id="@+id/question_text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="@dimen/margintop" 
      android:gravity="center_horizontal" 
      android:paddingBottom="@dimen/margin_five" 
      android:scrollbars="vertical" 
      android:textColor="@color/white" 
      android:textSize="@dimen/common_textsize" /> 

    </ScrollView> 
    <LinearLayout 
     android:id="@+id/bottom_options" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@+id/scrollView" 
     android:layout_marginTop="@dimen/margin_small" 
     android:gravity="center|bottom" 
     android:orientation="vertical"> 

Das Problem ist, dass, wenn ich so viel Text in meinem Textview haben gehen die Linearlayout nach unten und es hides.I den Text scrollen möchten Innerhalb. Ohne das LinearLayout herunterzudrücken.

Ich möchte diesen Platz für ScrollView automatisch an alle Bildschirmgröße anpassen.

See the image Layaout

Vielen Dank!

+0

Ich denke, Ihr lineares Layout ist hier nutzlos. –

+0

Hallo, überprüfe das. http://stackoverflow.com/questions/1748977/making-textview-scrollable-in-android – PSone

Antwort

2

Definieren Sie LinearLayout vor Ihrer ScrollView und setzen Sie ScrollView auf über LinearLayout, match_parent. Gefällt mir:

<LinearLayout 
    android:id="@+id/bottom_options" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginTop="@dimen/margin_small" 
    android:gravity="center|bottom" 
    android:orientation="vertical"> 
    ... 
</LinearLayout> 

<ScrollView 
    android:id="@+id/scrollView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:fillViewport="true" 
    android:layout_alignParentLeft="true" 
    android:layout_below="@+id/previousimage" 
    android:layout_above="@+id/bottom_options" 
    android:layout_marginTop="@dimen/margin"> 

    <TextView 
     android:id="@+id/question_text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="@dimen/margintop" 
     android:gravity="center_horizontal" 
     android:paddingBottom="@dimen/margin_five" 
     android:scrollbars="vertical" 
     android:textColor="@color/white" 
     android:textSize="@dimen/common_textsize" /> 

</ScrollView> 
+0

Vielen Dank! das funktioniert perfekt! Jetzt habe ich ein Problem mit "TextView" und Text drin. Es zeigt Text unten und ich möchte es in der Mitte der ScrollView zeigen. – user3777879

+0

Sowohl ScrollView als auch TextView haben "android: layout_marginTop". Ich denke, es ist dupliziert und so geht der Text nach unten. Wenn Sie den Text "center_horizontal" haben möchten, müssen Sie außerdem "android: layout_width" in "match_parent" ändern. –

+0

Perfekt! funktioniert :) – user3777879

0

Die ScrollView sollte immer (oder zumindest kleiner als der verfügbare Platz), sonst nimmt es nur den gleichen Platz wie seine Kinder und so aus seiner Perspektive, keine Kinder ist out, so dass Sie nicht blättern müssen.

+0

Wenn ich in ScrollView dies einrichten: Android: layout_width = "match_parent" android: layout_height = "match_parent" dann verbirgt die LinearLayout vollständig . – user3777879

+0

Ihr lineares Layout ist leer, sodass die Höhe 0 ist. Wenn Sie LinearLayout unter der ScrollView anzeigen müssen, sollten Sie sie in ein übergeordnetes Layout einbetten. –

+0

LinearLayout ist gefüllt, aber ich habe den Inhalt nicht eingefügt. Jetzt habe ich das. http://i.stack.imgur.com/zo04x.png Aber wenn ich so viel Text habe. ScrollView funktioniert nicht und drückt mein LinearLayout außerhalb des Bildschirms. – user3777879