Все взаимодействие пользователя с приложением Android осуществляется через пользовательский интерфейс (UI), поэтому очень важно понимать основы пользовательского интерфейса приложения Android. Здесь, в этом уроке, мы собираемся рассказать о различных Views
и ViewGroups
и попытаемся объяснить, как их можно использовать для разработки пользовательского интерфейса приложения для Android.
View
View (переводится как вид) является основным строительным блоком пользовательского интерфейса в Android. View относится к android.view.View
класс, который является супер класс для всех компонентов графического интерфейса, таких как TextView
, ImageView
, Button
и т. д.
View
класс расширяется Object
классом и реализует Drawable.Callback
, KeyEvent.Callback
и AccessibilityEventSource
.
Представление можно рассматривать как прямоугольник на экране, который показывает некоторый тип контента. Это может быть изображение, фрагмент текста, кнопка или что угодно, что может отобразить приложение для Android. Прямоугольник здесь на самом деле невидим, но каждый вид занимает прямоугольную форму.
Вас может беспокоить вопрос: каков может быть размер этого прямоугольника?
Ответ: либо мы можем установить его вручную, указав точный размер (с правильными единицами измерения), либо используя некоторые предопределенные значения. Эти предопределенные значения match_parent
и wrap_content
.
match_parent
означает, что он будет занимать все пространство своего родителя. Тогда как wrap_content
означает, что он будет занимать столько места, сколько необходимо для отображения его содержимого.
View также известно как виджет в Android. Любое визуальное представление (которое мы можем видеть на экране) и интерактивное (с которым пользователь может взаимодействовать) называется виджетом.
Синтаксис XML для создания View
Чтобы нарисовать что-либо в нашем приложении для Android, нам нужно будет указать это в XML-файлах дизайна. А для добавления функциональности создаем файл Java.
Каждое представление в XML имеет следующий формат:
<ViewName
Attribute1=Value1
Attribute2=Value2
Attribute3=Value3
.
.
AttributeN=ValueN
/>
- Он всегда начинается с угловой скобки, за которой следует название View. Очень скоро мы познакомим вас с различными типами просмотров.
- Затем мы пишем атрибуты которые будут определять, как это представление будет выглядеть на экране приложения вместе с значениями для атрибутов. Каждое представление имеет свои собственные атрибуты, которые мы обсудим в следующих нескольких руководствах, посвященных различным типам представлений.
Таким образом, каждый View
подкласс должен следовать этому формату, чтобы он мог отображаться на экране приложения. И этот формат не что иное, как стиль XML по умолчанию.
Есть два атрибута, которые необходимы для каждого View
:
android:layout_height и android:layout_width
.
Эти атрибуты определяют размер невидимого прямоугольника, который создает представление. Используя эти атрибуты, мы можем легко контролировать размер каждого представления в нашем приложении для Android.
Помимо вышеупомянутых атрибутов, часто используются такие атрибуты, как gravity
, layout_gravity
, padding
и margin
некоторые другие.
Наиболее часто используемые классы Android View
Здесь у нас есть некоторые из наиболее часто используемых Android View
классов:
Программный и декларативный подход
Чтобы создать/определить View или ViewGroup в нашем приложении для Android, есть два возможных способа:
- Программный подход: здесь мы определяем/создаем наши представления в исходном файле Java. Мы подробно узнаем об этом подходе позже, а сейчас вот пример кода для добавления кнопки на наш экран.
Button myButton = new Button(this);
myButton.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.MATCH_PARENT));
myLayout.addView(myButton);
Так addView()
это функция, используемая для добавления любого View в пользовательский интерфейс, а функция setLayoutParams()
используется для установки различных атрибутов.
- Декларативный подход: здесь мы определяем View и ViewGroups непосредственно в XML-файлах дизайна, как мы будем делать в следующих уроках, где мы будем изучать различные часто используемые View.