Пример использования ScrollView в Android

Пример использования ScrollView в Android

В этой статье мы рассмотрим пример использования ScrollView в простом Android приложении.

ScrollView  — служит для упаковки иерархии объектов View в контейнер, который можно прокручивать (скролить).

Обзор Scrollview в Android

Контейнер Scrollview представляет собой особый тип FrameLayout. Его особенность состоит в том, что он позволяет пользователям просматривать контент, который занимает больше места, чем физически есть на дисплее. Иными словами — просматривать контент, который не вмещается на экране без прокрутки.

Scrollview может содержать только один дочерний элемент или контейнер ViewGroup.

Советы по использованию Scrollview

  • Никогда не используйте view-компонент ListView или GridView вместе со ScrollView. ListView предназначен для отображения списка элементов и оптимизирован для работы с большим объемом данных. Кроме того, он содержит встроенные возможности для прокрутки содержимого.
  • Контейнер Scrollview поддерживает только вертикальную прокрутку. Если Вы хотите добавить горизонтальную прокрутку, то нам понадобится другой наследник FrameLayout — контейнер HorizontalScrollView.
  • В xml разметке контейнер ScrollView имеет полезное свойство android:fillViewport, которое определяет, должен ли Scrollview растягивать свое содержание, чтобы заполнить доступное место на экране. Также доступен метод для установки этого значения в коде: setFillViewport(boolean).

Пример использования Scrollview в Android

Первым делом создадим новый Android проект.

Теперь создадим макет, в котором будет виджет ImageView с картинкой и два TextView: для заголовка и текста. Все это обернем в вертикальный LinearLayout и поместим в корневой ScrollView (помним, что Scrollview не может содержать больше одного дочернего элемента):

Превью на устройстве будет следующим:

12

Как видите, у нас есть контент, который единовременно не помещается на экране. Мы его поместили в контейнер Scrollview тем самым позволил вертикальную прокрутку по всей высоте контента.

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

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