See also
Ресурс розташування визначає архітектуру для UI в Activity або компоненті UI.
- РОЗТАШУВАННЯ ФАЙЛУ:
res/layout/filename.xml
Ім’я файлу буде використано як ID ресурсу.- СКОМПІЛЬОВАНИЙ ТИП ДАНИХ РЕСУРСУ:
- Вказівник на
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" | "fill_parent" | "wrap_content"]
android:layout_width=["dimension" | "fill_parent" | "wrap_content"]
[ViewGroup-specific attributes] >
<View
android:id="@[+][package:]id/resource_name"
android:layout_height=["dimension" | "fill_parent" | "wrap_content"]
android:layout_width=["dimension" | "fill_parent" | "wrap_content"]
[View-specific attributes] >
<requestFocus/>
</View>
<ViewGroup >
<View />
</ViewGroup>
<include layout="@layout/layout_resource"/>
</ViewGroup>Зауваження: Кореневий елемент може бути або
ViewGroup
,View
або<merge>
елемент, але має бути лише один кореневий елемент, і він мусить містити атрибутxmlns:android
з простору іменandroid
. - ЕЛЕМЕНТИ:
-
Значення для
android:id
Для значення ID вам загалом треба використовувати цей синтаксис:
"@+id/name"
. Символ ,+
, вказує на те, що це новий ресурсний ID, та інструментaapt
буде створювати нове ціле значення для ресурсу в класіR.java
, якщо воно ще не існує. Наприклад:<TextView android:id="@+id/nameTextbox"/>
Ім’я
nameTextbox
тепер є ресурсним ID, доданим для цього елементу. Тепер ви можете посилатись наTextView
, до якого ID є асоційьованим в Java:findViewById(R.id.nameTextbox);
Код повертає об’єкт
TextView
.Однак, якщо ви вже взначинили ID ресурсу (та він досі не задіяний), тоді ви можете застосувати цей ID до елементу
View
, виключаючи символ плюса в значенніandroid:id
.Значення для
android:layout_height
таandroid:layout_width
:Значення висоти та ширини можуть бути виражені з використанням любої з одиниць виміру, що підтримуються в Android (px, dp, sp, pt, in, mm), або за допомогою наступних ключоаих слів:
Значення Опис match_parent
Встановлює розмір, що співпадає з таким для батьківського елементу. Додано в API Level 8 як заміщення для fill_parent
.fill_parent
Встановлює розмір, що співпадає з таким для батьківського елементу. wrap_content
Встановлює розмір в такий, що тільки необхідний для вмісту цього елелменту. Власні елементи View
Ви можете створити власний елемент
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="fill_parent"
android:layout_height="fill_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 void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
} - see also: