Android 如何在使用布局权重设置高度时将视图置于彼此的顶部

Android 如何在使用布局权重设置高度时将视图置于彼此的顶部,android,android-layout,Android,Android Layout,我正在创建我的自定义媒体播放器。但是,我有一个问题,就是如何将视图与所需的部分存储在一起。我在下图中说明了我的目标 我对这张图片的顶部和底部没有任何问题。我的问题是我想把紫色区域放在SurfaceView的顶部,而它的高度是红色区域总高度的0.2 注意:我对红色区域使用RelativeLayout,并将紫色区域放在适当的位置(layout\u alignParentBottom=“true”),但我不知道如何设置它的高度,就像我们在LinearLayout中使用layout\u weight所做

我正在创建我的自定义媒体播放器。但是,我有一个问题,就是如何将视图与所需的部分存储在一起。我在下图中说明了我的目标

我对这张图片的顶部和底部没有任何问题。我的问题是我想把紫色区域放在SurfaceView的顶部,而它的高度是红色区域总高度的0.2

注意:我对红色区域使用RelativeLayout,并将紫色区域放在适当的位置(
layout\u alignParentBottom=“true”
),但我不知道如何设置它的高度,就像我们在
LinearLayout
中使用
layout\u weight
所做的那样

编辑:这是红色部分的xml

<?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" >
    <RelativeLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
        <SurfaceView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />  
        <mypackages.MediaPlayerController
            android:id="@+id/mediaPlayerController1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true">
        </mypackages.MyMediaController>

    </RelativeLayout>
</LinearLayout>

以及MyMediaController的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:layout_weight="1"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="4dp"
        android:orientation="horizontal"
        android:layout_gravity="center">

        <SeekBar
            android:id="@+id/sb"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:layout_weight="1"
        android:orientation="horizontal"
        android:layout_gravity="left">
        <mypackages.CircularImageButton
            android:id="@+id/ci1"
            android:layout_width="wrap_content"
            android:layout_height="20dp"
            android:layout_weight="0.1"
            app:border="true"
            app:border_color="@color/c1"
            app:border_width="2dp"
            app:shadow="true"
            app:shadow_radius="1"
            app:shadow_color="@android:color/black"
            android:src="@drawable/mediapause" />
        <mypackages.CircularImageButton
            android:id="@+id/ci2"
            android:layout_width="wrap_content"
            android:layout_height="20dp"
            android:layout_weight="0.1"
            app:border="true"
            app:border_color="@color/c1"
            app:border_width="2dp"
            app:shadow="true"
            app:shadow_radius="1"
            app:shadow_color="@android:color/black"
            android:src="@drawable/volumeon" />
    </LinearLayout>

</LinearLayout>


@udidan是的,现在。不使用LinearLayout的原因是什么?@udidan具体在哪里?如果你指的是SurfaceView和media controller,我想把media controller放在上面(在SurfaceView的底部和上方)是的,我明白,但原因是什么?线性布局似乎非常适合这种情况layout@UdiIdan据我所知,您不能使用LinearLayout将两个视图放置在彼此上。