Класс TextView использует собственную прокрутку и в принципе не требует добавления отдельных полос прокрутки, но применение видимых полос прокрутки вместе с TextView (или любым другим элементом или контейнером, размеры которого больше размера экрана мобильного устройства) улучшает внешний вид и повышает удобство использования приложения.
Полосы прокрутки в Android представляют элементы ScrollView и HorizontalScrollView, которые являются контейнерными элементами и наследуются от ViewGroup.
Элементы ScrollView и HorizontalScrollView — это контейнеры типа FrameLayout. Это означает, что в них можно расположить только одно дочернее представление. Этот дочерний элемент может, в свою очередь, быть контейнером со сложной иерархией объектов. В качестве дочернего элемента для полос прокрутки обычно используют LinearLayout с вертикальной или горизонтальной ориентацией элементов.
Элемент ScrollView, несмотря на свое название, поддерживает только вертикальную прокрутку, поэтому для создания вертикальной и горизонтальной прокрутки необходимо использовать ScrollView в сочетании с HorizontalScrollView. Обычно ScrollView используют в качестве корневого элемента, а HorizontalScrollView — дочернего.
Рассмотрим создание полос прокрутки на практике. Cоздайте новый проект ScrollsApp. Откройте файл компоновки main.xml и создайте структуру компоновки, разместив в ней ScrollView, HorizontalScrollView и TextView.
Полосы прокрутки в Android представляют элементы ScrollView и HorizontalScrollView, которые являются контейнерными элементами и наследуются от ViewGroup.
Элементы ScrollView и HorizontalScrollView — это контейнеры типа FrameLayout. Это означает, что в них можно расположить только одно дочернее представление. Этот дочерний элемент может, в свою очередь, быть контейнером со сложной иерархией объектов. В качестве дочернего элемента для полос прокрутки обычно используют LinearLayout с вертикальной или горизонтальной ориентацией элементов.
Элемент ScrollView, несмотря на свое название, поддерживает только вертикальную прокрутку, поэтому для создания вертикальной и горизонтальной прокрутки необходимо использовать ScrollView в сочетании с HorizontalScrollView. Обычно ScrollView используют в качестве корневого элемента, а HorizontalScrollView — дочернего.
Рассмотрим создание полос прокрутки на практике. Cоздайте новый проект ScrollsApp. Откройте файл компоновки main.xml и создайте структуру компоновки, разместив в ней ScrollView, HorizontalScrollView и TextView.
Файл компоновки main.xml
<ScrollView xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<HorizontalScrollView
android:id="@+id/scroll_hor"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:background="#FFFFFF"
android:textSize="24px"
android:shadowDx="0"
android:shadowDy="0"
android:shadowRadius="0"
android:shadowColor="#FFFFFF"
android:isScrollContainer="true"/>
</HorizontalScrollView>
</ScrollView>
В классе MainActivity в теле метода onCreate() создайте ссылку на элемент TextView, объявленный в XML-компоновке, и запишите в него методом setText() достаточно большой текст, который гарантированно не поместится в видимые размеры экрана устройства.
Файл класса окна приложения MainActivity.java
package com.samples.ui.scrolls;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView text = (TextView)findViewById(R.id.text);
// Загружаем текст
text.setText("..."); // Введите любой достаточно большой текст
}
}
Выполните компиляцию проекта и запустите его на мобильном устройстве. Полосы прокрутки представляют собой тонкие линии справа или внизу, которые появляются при касании экрана пальцем или движении пальца по экрану.

Комментариев нет:
Отправить комментарий