ScrollView — контейнер с возможностью прокрутки


Если ваш макет экрана достаточно большой и все его элементы не помещаются на экране по вертикали, то самое подходящее — использовать контейнер ScrollView, внутрь которого вы можете поместить нужный layout с дочерними элементами. При этом просмотреть все имеющиеся элементы позволит полоса прокрутки.

Как сказано в документации, ScrollView — это FrameLayout, а это значит, что он может содержать только один дочерний элемент. Обычно этим элементом является какой-то LinearLayout с вертикальной ориентацией, который содержит все остальные элементы экрана.

Важно отметить, что для элементов ListView вам не нужно создавать прокрутку, т.к. здесь она появляется автоматически при необходимости.

Пример макета с использованием ScrollView:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/scrollView1"        
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >
 
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/app_name" />
 
            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/app_name" />
 
            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/app_name" />
 
            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/app_name" />
 
        </LinearLayout>
 
</ScrollView>

Здесь вложенных элементов мало, поэтому полосу прокрутки вы не увидите. Чтобы протестировать ее, добавьте побольше элементов TextView.

один комментарий на “ScrollView — контейнер с возможностью прокрутки

  1. Николай

    Добрый день!

    А, как реализовать scrolling содержимого TextView, чтоб прокрутка ScrollView не мешала?
    Спасибо.

    Reply

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*