Я знаю, что приведенный выше код XML не работает, но есть обходной путь?
LinearLayout
и android:layout_weight
позволяют вам работать на процентной основе. Следующая компоновка имеет три кнопки, данные 50%, 30% и 20% экрана соответственно:
<?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">
<Button
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="50"
android:text="@string/fifty_percent"/>
<Button
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="30"
android:text="@string/thirty_percent"/>
<Button
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="20"
android:text="@string/twenty_percent"/>
</LinearLayout>
Для того, чтобы сделать что-то в процентном соотношении, установить ширину или высоту (для горизонтального или вертикального LinearLayouts
, соответственно,) должно быть 0dp
, затем присвоить android:layout_weight
желаемому проценту (например, 20
). Если сумма весов не будет добавлена к 100, добавьте android:weightSum="100"
к самому LinearLayout
.
Конечно, выполнение каких-либо действий в процентах не даст вам «ТОЧНОЙ такой же макет» для любого обычного определения термина «ЭКЗАМЕНТ». Но, возможно, это удовлетворит ваши потребности. Это, безусловно, может реализовать маркированный дизайн с вашего скриншота.
Проблема с LinearLayout заключается в том, что она не позволяет размещать представления друг на друга. На моем изображении фон - это фильм, который воспроизводится в ViedeoView. Возможно ли разместить LinearLayout внутри RealativeLayout для той же активности? – user2186852
@ user2186852: «Возможно ли установить LinearLayout внутри RealativeLayout для той же активности?» -- конечно. – CommonsWare
Я попробовал, творит чудеса, большое спасибо! – user2186852