Поделиться через


Xamarin.Android RelativeLayout

RelativeLayout — это объект, отображающий дочерний ViewGroup элемент View элементы в относительные позиции. Позиция элемента View может быть указана относительно элементов с одноуровневыми элементами (например, слева или ниже заданного элемента) или в позициях относительно RelativeLayout область (например, выровненная по нижнему краю, слева от центра).

Это RelativeLayout очень мощная программа для разработки пользовательского интерфейса, так как она может исключить вложенные ViewGroups. Если вы обнаружите, что используете несколько вложенных LinearLayout группы, вы можете заменить их одним RelativeLayout.

Запустите новый проект с именем HelloRelativeLayout.

Откройте файл Resources/Layout/Main.axml и вставьте следующее:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/label"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Type here:"/>
    <EditText
        android:id="@+id/entry"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:drawable/editbox_background"
        android:layout_below="@id/label"/>
    <Button
        android:id="@+id/ok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/entry"
        android:layout_alignParentRight="true"
        android:layout_marginLeft="10dip"
        android:text="OK" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/ok"
        android:layout_alignTop="@id/ok"
        android:text="Cancel" />
</RelativeLayout>

Обратите внимание на каждый из атрибутов, таких android:layout_* как layout_below, layout_alignParentRightи layout_toLeftOf. При использовании RelativeLayoutэтих атрибутов можно использовать для описания того, как вы хотите разместить каждую View. Каждый из этих атрибутов определяет другой вид относительной позиции. Некоторые атрибуты используют идентификатор ресурса брата View для определения собственной относительной позиции. Например, последний Button определяется, чтобы лежать слева от и выровнены с View верхней частью идентификатора ok (который является предыдущим Button).

Все доступные атрибуты макета определены в RelativeLayout.LayoutParams.

Убедитесь, что вы загружаете этот макет в OnCreate() Метод:

protected override void OnCreate (Bundle savedInstanceState)
{
    base.OnCreate (savedInstanceState);
    SetContentView (Resource.Layout.Main);
}

Метод SetContentView(int) загружает файл макета для Activityфайла макета, указанного идентификатором ресурса, Resource.Layout.Main ссылается на файл макета Resources/Layout/Main.axml .

Запустите приложение. Вы увидите следующий макет:

Screenshot of a relative layout with a TextView, EditText, and two buttons

Ресурсы

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.