Главная » Разработка для Android » Знакомство с Представлениями

0

Как говорилось  выше, все визуальные компоненты в Android  — по- томки класса View и, как правило, называются Представлениями. Вы также будете часто встречать термины «элемент управления» или «виджет» (не путайте с виджетами  для домашнего экрана, которые описываются в гла- ве 10) — с ними вы должны быть знакомы, если имеете какой-либо опыт разработки  GUI.

ViewGroup — это производный от View класс, спроектированный для хранения  нескольких  Представлений одновременно.  Как правило,  Группы представлений используются либо для создания независимых компонентов многократного использования, либо для управления компоновкой дочер- них элементов (в таком случае объект ViewGroup, как правило, называется разметкой).

Поскольку все визуальные элементы  происходят  от класса View, вы, вероятно,  столкнетесь  с такими  его названиями, как «виджет»,  «элемент управления» и «представление».

Создавая приложение To-Do List в главе 2, вы уже успели познакомиться с разметкой и тремя стандартными Представлениями: LinearLayout, ListView и TextView.

В следующих разделах вы научитесь собирать воедино постоянно услож- няющиеся пользовательские интерфейсы. Узнаете, как с помощью наследо- вания Представлений, доступных в SDK, создавать новые структурирован- ные элементы управления, после чего создадите собственное Представление с нуля.

Создание пользовательского интерфейса для Активностей с помощью Представлений

Новая Активность изначально — пустой экран, где вы должны разместить свой пользовательский интерфейс.  Для этого необходимо  вызвать  метод setContentView, передав ему экземпляр Представления или ресурс с раз- меткой, который вы хотите отобразить.  Так как пустой дисплей выглядит не очень вдохновляюще, при переопределении обработчика onCreate почти всегда используется метод setContentView, чтобы назначать пользователь- ский интерфейс для Активности.

Этот метод принимает  либо идентификатор ресурса с разметкой  (как было описано в главе 3), либо единственный экземпляр Представления. Бла- годаря этому вы можете описывать пользовательский интерфейс как внутри кода программы, так и с помощью внешних ресурсов с разметкой, что более предпочтительно.

Используя ресурсы с разметкой, вы отделяете уровень представления от бизнес-логики. Благодаря такому гибкому подходу можно изменять внеш- ний вид, не затрагивая код программы. Это позволяет указывать различные экземпляры разметки, оптимизированные под разные аппаратные конфигу- рации, вы даже можете менять их во время выполнения программы, осно- вываясь на аппаратных изменениях (например, при повороте экрана).

В листинге 4.1 показано, как с помощью внешнего ресурса с разметкой задать пользовательский интерфейс для Активности. Вы можете получить ссылки на Представления, размещенные  внутри разметки, используя метод findViewById. В этом примере предполагается, что файл main.xml хранит- ся в каталоге проекта res/layout.

Листинг 4.1. Получение  ссылок на элементы разметки  внутри Активности

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

TextView myTextView = (TextView)findViewById(R.id.myTextView);

}

Если вы предпочитаете более традиционный подход, то есть возмож- ность создавать  пользовательский интерфейс прямо  в коде программы.

В листинге 4.2 показано, как назначить  новый объект TextView  в качестве пользовательского интерфейса.

Листинг 4.2. Создание разметки пользовательского интерфейса в коде программы

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TextView myTextView = new TextView(this);

setContentView(myTextView);

myTextView.setText("Hello, Android");

}

Метод setContentView в качестве параметра принимает  единственный экземпляр Представления, поэтому чтобы добавить  в Активность сразу не- сколько элементов, необходимо использовать разметку.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии