Поместите RelativeLayout ниже LinearLayout внутри другого LinearLayout - PullRequest
0 голосов
/ 15 июня 2011

Я пытаюсь поместить RelativeLayout ниже LinearLayout, который вложен в другой LinearLayout, и он не работает.

Можно ли как-нибудь это сделать?

Мне нужно сохранить возможность настройки весов и возможность размещения макета (с некоторым прозрачным фоном) над другим макетом.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relative"
   android:layout_width="wrap_content" android:layout_height="fill_parent" >
    <LinearLayout  android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_horizontal" android:orientation="vertical" android:weightSum="800">
        <LinearLayout android:layout_alignParentRight="true" android:layout_width="fill_parent" android:id="@+id/infoCanso" android:orientation="vertical" android:background="@drawable/black_glossy_bg_iphone" android:gravity="center_vertical|center_horizontal" android:layout_height="0dip" android:layout_weight="90">

        </LinearLayout>
        <LinearLayout android:id="@+id/albumBG" android:layout_width="wrap_content" android:layout_below="@+id/infoCanso" android:layout_height="0dip" android:layout_weight="482">

        </LinearLayout>
        <LinearLayout android:id="@+id/linearLayout1" android:background="#80ffffff" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="90">

        </LinearLayout>
        <LinearLayout android:layout_width="fill_parent" android:layout_height="0dip" android:id="@+id/LinearLayout01" android:layout_weight="100" android:background="#ffffff">

        </LinearLayout>
    </LinearLayout>
    <RelativeLayout android:layout_width="fill_parent" android:layout_height="50dip" android:id="@+id/volumeBar" android:background="#80000000" android:gravity="center" android:layout_below="@+id/infoCanso">

    </RelativeLayout>
</RelativeLayout>

Ответы [ 2 ]

0 голосов
/ 24 декабря 2011

Это можно сделать с помощью свойства layout_gravity определенного макета. Перейти к XML вlativeLayout установите для свойства layout_gravity значение «TOP», как это android: layout_gravity = "top", а для linearlayout layout_gravity - android: layout_gravity = "bottom "

Помните, setGravity и layout_gravity - разные вещи!Это может быть сделано с использованием XMl, но я не знаю, в коде.Надеюсь, я ответил на ваш вопрос

Спасибо

0 голосов
/ 21 июня 2011

Вы должны убедиться, что ваши веса увеличиваются до 100. Простой способ сделать то, что вы делаете, это объявить ваши ширины как «0dp», а затем использовать ваши веса для управления размером ваших макетов.

Я описал нечто подобное в этом посте

Удачи!

...