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