Ресурс макета
    
    
      
    
    
      
      Оптимизируйте свои подборки
    
    
      
      Сохраняйте и классифицируйте контент в соответствии со своими настройками.
    
  
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
Ресурс макета определяет архитектуру пользовательского интерфейса в 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."],[],[]]