Я пытаюсь обернуть голову вокруг макетов Android, и я подумал, что начну с простого примера, но он почему-то не работает.Продвинутый макет Android
Я начал с простого разбиения макета на 4 блока и использования цветов фона, чтобы доказать, что он работает по назначению.
Этот код прекрасно работает для этого:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:background="@android:color/holo_green_light">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:background="@android:color/white">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:background="@android:color/holo_orange_light">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:background="@android:color/holo_red_light">
</RelativeLayout>
</LinearLayout>
Так что я хотел продолжить разбивку разделов, а также добавить два новых макетов по 2-м один, что каждый Залейте его 50% (фактически покрыв ее).
Я пробовал как LinearLayout, так и RelativeLayout, и я не могу ничего сработать.
Вот код, я прямо сейчас:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:background="@android:color/holo_green_light">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="@android:color/holo_green_dark"
android:layout_alignParentLeft="true" >
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:background="@android:color/holo_blue_dark"
android:layout_alignParentRight="true" >
</LinearLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:background="@android:color/holo_orange_light">
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="0.25"
android:background="@android:color/holo_red_light">
</RelativeLayout>Layout>
</LinearLayout>
Я думаю, что вопрос с match_parent в суб LinearLayouts, но проблема в том, если я использую wrap_content, нет никакого содержания, чтобы они исчезают.
Вы также должны использовать свойство 'android: weightSum' для родительских макетов. –
Вложенные макеты весов обескуражены. –
Введите некоторую высоту в относительный макет и добавьте несколько снимков экрана вашего текущего макета. Не пытайтесь использовать вложенный макет. – Codelord