将一个RelativeLayout放在另一个LinearLayout内的LinearLayout下面

时间:2011-06-15 07:49:56

标签: android android-layout android-linearlayout relativelayout

我正在尝试将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 :(得分:0)

你需要确保你的权重加起来为100.你正在做的事情的简单方法是将宽度声明为“0dp”,然后使用权重来控制布局的大小。

我在this post

中描述了类似的内容 祝你好运!

答案 1 :(得分:0)

这可以使用特定布局的属性layout_gravity来完成, 转到relativeLayout中的XML,将属性layout_gravity设置为&#39; TOP&#39;喜欢这个android:layout_gravity =&#34; top&#34; 以及线性布局layout_gravity到android:layout_gravity =&#34; bottom&#34;

记住setGravity和layout_gravity是不同的东西! 这可以使用XMl完成,但我不知道代码方式。 希望我回答你的问题

感谢名单