Чтобы переводить контент на ваш предпочитаемый язык, Google использует технологии на основе искусственного интеллекта. Переводы от ИИ могут содержать ошибки.
Ресурс разметки
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Ресурс разметки определяет архитектуру пользовательского интерфейса в Activity или компоненте пользовательского интерфейса.
- местоположение файла;
res/layout/filename.xml
Название файла используется в качестве идентификатора ресурса.
- скомпилированный тип данных ресурса:
- Указатель на ресурс
View (или подкласс)
- ссылка на ресурс:
-
В Java:
R.layout.filename
В XML: @[package:]layout/filename
- Синтаксис:
-
<?xml version="1.0" encoding="utf-8"?>
<ViewGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[ViewGroup-specific attributes] >
<View
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "match_parent" | "wrap_content"]
android:layout_width=["dimension" | "match_parent" | "wrap_content"]
[View-specific attributes] >
<requestFocus/>
</View>
<ViewGroup >
<View />
</ViewGroup>
<include layout="@layout/layout_resource"/>
</ViewGroup>
Примечание. Корневым элементом может быть ViewGroup, View или <merge>, но он должен быть только один и содержать атрибут xmlns:android с пространством имен android, как показано в примере синтаксиса выше.
- elements:
-
<ViewGroup>
- Контейнер для других элементов
View. Существует множество различных типов объектов ViewGroup, и каждый из них позволяет по-разному задавать макет дочерних элементов. Существуют разные типы объектов ViewGroup, в том числе LinearLayout, RelativeLayout и FrameLayout.
Не думайте, что любая производная от ViewGroup принимает вложенные представления. Некоторые группы представлений являются реализациями класса AdapterView, который определяет дочерние элементы только на основе Adapter.
Атрибуты:
android:id
- Идентификатор ресурса. Уникальное название ресурса для элемента, которое можно использовать для получения ссылки на
ViewGroup из приложения. Подробную информацию вы найдете в разделе Значение для android:id.
android:layout_height
- Параметр или ключевое слово. Обязательный параметр. Высота группы, заданная в виде значения размера (или ресурса размера) или ключевого слова (
"match_parent" или "wrap_content"). Подробную информацию можно найти в разделе Значения для android:layout_height и android:layout_width.
android:layout_width
- Параметр или ключевое слово. Обязательный параметр. Ширина группы, заданная в виде значения параметра (или ресурса параметра) или ключевого слова (
"match_parent" или "wrap_content"). Подробную информацию можно найти в разделе Значения для android:layout_height и android:layout_width.
Базовый класс ViewGroup поддерживает больше атрибутов, а каждая реализация ViewGroup – ещё больше. Чтобы посмотреть все доступные атрибуты, ознакомьтесь с документацией по соответствующему классу ViewGroup, например XML-атрибуты LinearLayout.
<View>
- Отдельный компонент интерфейса, обычно называемый виджетом. Существуют разные типы объектов
View, например TextView, Button и CheckBox.
Атрибуты:
android:id
- Идентификатор ресурса. Уникальное название ресурса для элемента, которое можно использовать для получения ссылки на
View из приложения. Подробную информацию вы найдете в разделе Значение для android:id.
android:layout_height
- Параметр или ключевое слово. Обязательный параметр. Высота элемента, заданная как значение размера (или ресурс размера) или ключевое слово (
"match_parent" или "wrap_content"). Подробную информацию можно найти в разделе Значения для android:layout_height и android:layout_width.
android:layout_width
- Параметр или ключевое слово. Обязательный параметр. Ширина элемента, заданная как значение размера (или ресурс размера) или ключевое слово (
"match_parent" или "wrap_content"). Подробную информацию можно найти в разделе Значения для android:layout_height и android:layout_width.
Базовый класс View поддерживает больше атрибутов, а каждая реализация View – ещё больше. Подробнее о макетах… Чтобы посмотреть все доступные атрибуты, ознакомьтесь с соответствующей справочной документацией, например XML-атрибутами TextView.
<requestFocus>
- Этот пустой элемент может быть включен в любой элемент, представляющий объект
View. Он позволяет установить начальный фокус на родительском элементе. В одном файле может быть только один такой элемент.
<include>
- Включает файл макета в этот макет.
Атрибуты:
layout
- Ресурс разметки. Обязательный параметр. Ссылка на ресурс разметки.
android:id
- Идентификатор ресурса. Переопределяет идентификатор, присвоенный корневому представлению во включенном макете.
android:layout_height
- Параметр или ключевое слово. Переопределяет высоту, заданную для корневого представления во включенном макете. Действует, только если также объявлено
android:layout_width.
android:layout_width
- Параметр или ключевое слово. Переопределяет ширину, заданную для корневого представления во включенном макете. Действует, только если также объявлено
android:layout_height.
Вы можете включить в <include> любые другие атрибуты макета, которые поддерживаются корневым элементом во включенном макете, и они переопределят атрибуты, определенные в корневом элементе.
Внимание! Если вы хотите переопределить атрибуты макета с помощью тега <include>, вам нужно переопределить и android:layout_height, и android:layout_width, чтобы другие атрибуты макета вступили в силу.
Другой способ включить макет – использовать ViewStub, облегченное представление, которое не занимает места в макете, пока вы не развернете его. При этом он включает файл макета, определенный атрибутом android:layout. Дополнительную информацию об использовании ViewStub можно найти в статье Загрузка представлений по запросу.
<merge>
- Альтернативный корневой элемент, который не отображается в иерархии макета. Использовать его в качестве корневого элемента удобно, если вы знаете, что этот макет помещен в макет, который уже содержит соответствующий родительский элемент
View для дочерних элементов <merge>.
Это особенно полезно, если вы планируете включить этот макет в другой файл макета с помощью <include> и этому макету не требуется другой контейнер ViewGroup. Подробнее об объединении макетов…
Значение для android:id
Для значения идентификатора обычно используется следующий синтаксис: "@+id/name", как показано в примере ниже. Символ плюса (+) указывает на то, что это новый идентификатор ресурса, и инструмент aapt создает новое целое число ресурса в классе R.java, если оно ещё не существует.
<TextView android:id="@+id/nameTextbox"/>
Название nameTextbox теперь является идентификатором ресурса, прикрепленным к этому элементу. Затем вы можете сослаться на TextView, с которым связан идентификатор в Java:
Kotlin
val textView: TextView? = findViewById(R.id.nameTextbox)
Java
TextView textView = findViewById(R.id.nameTextbox);
Этот код возвращает объект TextView.
Однако если вы уже определили ресурс идентификатора и он ещё не используется, то можете применить этот идентификатор к элементу View, исключив символ плюса в значении android:id.
Значения для android:layout_height и android:layout_width
Значения высоты и ширины выражаются в любых единицах измерения, поддерживаемых Android (px, dp, sp, pt, in, mm), или с помощью следующих ключевых слов:
| Значение | Описание |
match_parent |
Размер элемента будет соответствовать размеру родительского элемента. Добавлено на уровне API 8, чтобы прекратить поддержку fill_parent. |
wrap_content |
Размер элемента будет соответствовать размеру его контента. |
Элементы специального представления
Вы можете создавать собственные элементы View и ViewGroup и применять их к макету так же, как и стандартные элементы. Вы также можете указать атрибуты, поддерживаемые в элементе XML. Подробнее о том, как создавать специальные компоненты просмотра…
- пример:
- XML-файл сохранен в
res/layout/main_activity.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a Button" />
</LinearLayout>
Этот код приложения загружает макет для Activity в методе onCreate():
-
Kotlin
public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
}
Java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
- См. также:
-
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2026-10-24 UTC.
[null,null,["Последнее обновление: 2026-10-24 UTC."],[],[]]