如何制作几个RelativeLayouts,每个都占据屏幕的一部分?

use*_*613 1 android android-layout

我希望在另一个全屏相对布局中有一个相对布局,占据其父宽度的50%,最好是用XML而不是java代码.

我已经弄清楚如何对齐父母的中心,以及如何填充宽度,但有没有办法获得父母身高的50%?30%左右?6.2834%?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="fill_parent">

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="??????????"
        android:layout_centerInParent="true" >
Run Code Online (Sandbox Code Playgroud)

我试图做百分比的原因是,如果我用"dip"指定它,而对象将保持相同的大小,布局在不同的屏幕尺寸(例如手机和平板电脑)上看起来会有很大不同.

编辑:

感谢您关于使用LinearLayout和加权的所有答案.我之前也看过那个.我觉得我可能过度简化了这个问题.说我需要这样的东西:

在此输入图像描述

我想我可以使用复杂的LinearLayout和加权来勾勒出中心正方形,然后将中心正方形设置为fill_parent,如下所示:

在此输入图像描述

但那么我应该怎么做其他3个方格(布局)?我可以为另一个方块设置另一个LinearLayout"层"吗?或者我应该将整个屏幕分成许多很小的小区,并将这些子布局划分到多个小区(不确定这是否可能)?

Ser*_*iev 6

尝试使用LinearLayoutweightSum

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    android:gravity="center_vertical"
    android:orientation="vertical" >

    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#FF0000">

    </RelativeLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)