Linear layout – особенности макетов экранов android приложений

[:ru]

Перевод документации официального сайта developer.android.com

LinearLayout представляет собой view group, которая выравнивает все дочерние элементы в одном направлении, вертикально или горизонтально. Вы можете указать ориентацию макета с помощью атрибута android:orientation.

Смотрите также: Relative Layout
Linear Layout особенности макетов экранов android приложений
Linear layout

 

Все элементы LinearLayout выстраиваются один за другим, таким образом в вертикальном списке будет только один элемент на строку, а горизонтальный список будет иметь высоту в одну строку. LinearLayout задает поля между элементами и способ их размещения (выравнивание по правой, левой сторонам или по центру).

Вес макета

LinearLayout также поддерживает присвоение веса с помощью атрибута android:layout_weight. Этот атрибут присваивает значение “важности” view с точки зрения того, сколько места оно должно занимать на экране. Большее значение веса позволяет ему расширяться, заполняя все пространство в родительском view. Дочерние view могут устанавливать значение веса, занимая место во view group пропорционально их весу. Вес по умолчанию – ноль.

Например, если будет три текстовых поля, и двум из них объявить вес 1, а третьему ничего не объявлять, то третье текстовое поле без веса не увеличится и займет только ту область, которую требует его содержимое. Другие два расширятся одинаково, занимая оставшееся пространство после того, как все три поля будут измерены. Тогда, если третьему полю задать вес 2 (вместо 0), оно будет более важное, чем оба других. Таким образом, оно получит половину общего пространства, в то время как первые два займут оставшееся место одинаково.

Пример

<?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:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:orientation="vertical" >
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/to" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/subject" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="top"
        android:hint="@string/message" />
    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="@string/send" />
</LinearLayout>

 

Для получения подробной информации об атрибутах, имеющихся в каждом дочернем элементе view LinearLayout, смотрите LinearLayout.LayoutParams.

Видеоурок по теме:

 

Эта статья является переводом официальной документации сайта developer.android.com  Ссылка на источник.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License

 

Надеемся, вам понравился материал. Возможно, вашим друзьям тоже будет интересно, поделитесь с ними!

[:en]

Перевод документации официального сайта developer.android.com

LinearLayout представляет собой view group, которая выравнивает все дочерние элементы в одном направлении, вертикально или горизонтально. Вы можете указать ориентацию макета с помощью атрибута android:orientation.

Смотрите также: Relative Layout
Linear Layout особенности макетов экранов android приложений
Linear layout

 

Все элементы LinearLayout выстраиваются один за другим, таким образом в вертикальном списке будет только один элемент на строку, а горизонтальный список будет иметь высоту в одну строку. LinearLayout задает поля между элементами и способ их размещения (выравнивание по правой, левой сторонам или по центру).

Вес макета

LinearLayout также поддерживает присвоение веса с помощью атрибута android:layout_weight. Этот атрибут присваивает значение “важности” view с точки зрения того, сколько места оно должно занимать на экране. Большее значение веса позволяет ему расширяться, заполняя все пространство в родительском view. Дочерние view могут устанавливать значение веса, занимая место во view group пропорционально их весу. Вес по умолчанию – ноль.

Например, если будет три текстовых поля, и двум из них объявить вес 1, а третьему ничего не объявлять, то третье текстовое поле без веса не увеличится и займет только ту область, которую требует его содержимое. Другие два расширятся одинаково, занимая оставшееся пространство после того, как все три поля будут измерены. Тогда, если третьему полю задать вес 2 (вместо 0), оно будет более важное, чем оба других. Таким образом, оно получит половину общего пространства, в то время как первые два займут оставшееся место одинаково.

Пример

<?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:paddingLeft="16dp"
    android:paddingRight="16dp"
    android:orientation="vertical" >
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/to" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="@string/subject" />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="top"
        android:hint="@string/message" />
    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="@string/send" />
</LinearLayout>

Для получения подробной информации об атрибутах, имеющихся в каждом дочернем элементе view LinearLayout, смотрите LinearLayout.LayoutParams.

Видеоурок по теме:

 

Эта статья является переводом официальной документации сайта developer.android.com  Ссылка на источник.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License

 

Надеемся, вам понравился материал. Возможно, вашим друзьям тоже будет интересно, поделитесь с ними!

[:]

Коментарі: 1
Додати коментар