[android] Как вы можете прокручивать LinearLayout?


Answers

<ScrollView 
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/scroll" 
      android:layout_width="match_parent"
      android:layout_height="wrap_content">

      <LinearLayout 
            android:id="@+id/container"
            android:orientation="vertical" 
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
      </LinearLayout>

 </ScrollView>
Question

У меня много элементов на экране, и мне нужно использовать полосу прокрутки, чтобы пользователь мог прокручивать вниз. Однако прокрутка либо не видна, либо не работает. Как можно добавить полосу прокрутки в LinearLayout ?




 <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"`enter code here`>

                <---------Content Here --------------->
            </LinearLayout>
       </ScrollView>
    </LinearLayout>



Это можно сделать с помощью тега <ScrollView> . Для ScrollView одна вещь, которую вы должны напомнить, что ScrollView должен иметь одного ребенка .

Если вы хотите, чтобы ваш полный макет был прокручиваемым, добавьте <ScrollView> вверху. Проверьте приведенный ниже пример.

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scroll" 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout 
        android:id="@+id/container" 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
            <!-- Content here -->
    </LinearLayout>

</ScrollView>

Но если вы хотите, чтобы часть вашего макета была прокручиваемой, добавьте <ScrollView> внутри этой части. Проверьте приведенный ниже пример.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="400dp">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">
                <!-- Content here -->
        </LinearLayout>

    </ScrollView>

</LinearLayout>



При использовании Eclipse ADT: Графический макет -> Композитный -> ScrollView




Links