Ресурс макета
    
    
      
    
    
      
      Оптимизируйте свои подборки
    
    
      
      Сохраняйте и классифицируйте контент в соответствии со своими настройками.
    
  
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
Ресурс макета определяет архитектуру пользовательского интерфейса в 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 , как показано в предыдущем примере синтаксиса.
-  элементы:
 -  
<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 . Дополнительные сведения об объединении макетов см. в статье Повторное использование макетов с помощью <include> .
 
 Значение для Android:id
 Для значения идентификатора обычно используется следующая синтаксическая форма: "@+id/ name " , как показано в следующем примере. Символ плюса + указывает, что это новый идентификатор ресурса, и инструмент aapt создает новое целое число ресурса в классе R.java , если оно еще не существует.
<TextView android:id="@+id/nameTextbox"/>
 Имя nameTextbox теперь является идентификатором ресурса, прикрепленным к этому элементу. Затем вы можете обратиться к TextView , с которым связан идентификатор в Java: 
 Котлин 
val textView: TextView? = findViewById(R.id.nameTextbox)
 Ява 
TextView textView = findViewById(R.id.nameTextbox);
 Этот код возвращает объект TextView .
 Однако если вы уже определили ресурс ID и он еще не используется, вы можете применить этот идентификатор к элементу View , исключив символ плюса из значения android:id .
 Значения для android:layout_height и android:layout_width
 Значения высоты и ширины выражаются с использованием любых единиц измерения, поддерживаемых Android (px, dp, sp, pt, дюймы, мм), или с помощью следующих ключевых слов:
|  Ценить |  Описание | 
|---|
 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() : 
 Котлин 
public override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.main_activity)
} Ява 
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_activity);
} -  см. также:
 
  
  
    
  
 
    
  
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
  Последнее обновление: 2025-07-29 UTC.
  
  
  
    
      [[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[]]