Wenn Scrollview unterstützt nur ein direktes Kind, wie sollte ich das gesamte Layout scrollbaren machen?

StackOverflow https://stackoverflow.com/questions/4259607

Frage

Ich habe 3 Textansichten in einem Layout, in dem die Text-Clips ein bisschen auf dem Boden auf meinem Droid 2 ... Wie kann ich sicherstellen, dass der gesamte Text sichtbar ist, und der Benutzer nach unten scrollen kann (einfach mit dem Finger ), für den Rest meines Textes zu sehen?

Danke!

EDIT:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageButton android:id="@+id/ImageButton01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/def" 
    android:layout_gravity="top|center">
    </ImageButton>

<TextView android:id="@+id/oneView" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="@string/one_def" 
android:layout_gravity="left|center" 
android:textSize="13dip"></TextView>

<TextView android:text="@string/two_def" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="left|center" 
android:id="@+id/twoView" 
android:textSize="13dip"></TextView>

<TextView android:text="@string/threedef_def" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_gravity="left|center" 
android:id="@+id/threeView" 
android:textSize="13dip"></TextView>


</LinearLayout>
War es hilfreich?

Lösung

So wickeln Sie Ihr aktuelles Linearlayout mit Scroll. So sollte es smth so aussehen:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <ImageButton ... />
        <TextView ... />
        <TextView ... />
        <TextView ... />

    </LinearLayout>
</ScrollView>

Andere Tipps

Das direkte Kind sollte Scroll ein anderes Layout, dass unterstützt mehr Kinder, wie RelativeLayout oder Linearlayout sein.

funktionierte perfekt.

Hier ist mein Layout als ein Beispiel für ein Inhaltselement mit zwei Köpfen darüber, dass Aufenthalt stationär Scrollen.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/mainMenu"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFFFF"
xmlns:android="http://schemas.android.com/apk/res/android"
>
    <FrameLayout
    android:id="@+id/widget112"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >
        <ImageView
        android:id="@+id/chemo_pro_header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/chemo_pro_header"
        >
        </ImageView>
        <ImageButton
        android:id="@+id/menu_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/menu_btn_off"
        android:background="@null"
        android:layout_gravity="right"
        android:padding="8px"
        >
        </ImageButton>
    </FrameLayout>
    <ImageView 
    android:layout_width="wrap_content" 
    android:id="@+id/news_head"
    android:src="@drawable/news_head" 
    android:layout_height="wrap_content">
    </ImageView>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
            <TextView android:layout_marginLeft="6dip" android:text="Monday, November 29th, 2010" android:id="@+id/newsDateStamp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:typeface="serif" android:textStyle="italic" android:textColor="#ff999999"></TextView>
            <TextView android:layout_marginLeft="6dip" android:text="Normal Article Titles Fit on These Lines and have room to be this long" android:textSize="16sp" android:typeface="serif" android:textStyle="bold" android:textColor="#ff000000" android:id="@+id/newsTitle" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
            <TextView android:layout_marginLeft="6dip" android:text="Article source" android:id="@+id/newsSource" android:layout_width="wrap_content" android:layout_height="wrap_content" android:typeface="serif" android:textStyle="italic" android:textColor="#ff999999"></TextView>
            <ImageView 
            android:layout_width="wrap_content" 
            android:id="@+id/news_image"
            android:src="@drawable/news_image" 
            android:layout_height="wrap_content" android:layout_gravity="center">
            </ImageView>
            <TextView android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras in volutpat enim. Donec tempus vestibulum risus in pellentesque. Etiam eget lorem at velit facilisis dapibus.\n\nNunc dolor sem, semper vel vestibulum eu, ultrices tempus augue. Donec ligula erat, tempor dignissim imperdiet et, rutrum sed nisi. Praesent dignissim nulla ullamcorper metus facilisis auctor. Duis elementum commodo dictum. Duis rhoncus hendrerit lectus in tincidunt. Ut est neque, rutrum ut auctor ac, aliquet ut massa. Nullam at felis ipsum. Curabitur adipiscing sodales massa, sed lobortis lectus ultrices quis. Integer lobortis cursus tellus sed tempus. Ut convallis ullamcorper interdum. Integer iaculis feugiat ultricies.\n\nNunc dolor sem, semper vel vestibulum eu, ultrices tempus augue. Donec ligula erat, tempor dignissim imperdiet et, rutrum sed nisi. Praesent dignissim nulla ullamcorper metus facilisis auctor. Duis elementum commodo dictum. Duis rhoncus hendrerit lectus in tincidunt. Ut est neque, rutrum ut auctor ac, aliquet ut massa." android:layout_marginTop="6dip" android:layout_marginBottom="6dip" android:typeface="serif" android:id="@+id/newsBody" android:layout_marginLeft="6dip" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textColor="#ff000000" android:layout_marginRight="6dip"></TextView>
    </LinearLayout>
    </ScrollView>
</LinearLayout>

Wenn Sie wollen einfach nur gesamtes Layout blättern Scroll die Eltern machen und Linear Layout machen oder anyother Layout, wie es die erste Kind ist, und dann andere im Innern, die Layouts hinzufügen .... Beispiel:

<Scrollview>
   <LinearLayout  android:id="@+id/child1">
     <Textview />
     <Textview />
     <Button />
     <LinearLayout>
       <Textview />
     </LinearLayout>
   </LinearLayout>
 </scrollview>

hier Scroll hat nur ein Kind ‚child1‘ alle anderen sind im Inneren und damit gesamte Layout ist scrollbaren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top