2

我有一个布局,我只想占据屏幕宽度的百分比(左图)。现在,我的相对布局跨越了显示器的整个宽度(右图)。如何修复它以在左侧和右侧有边距?

在此处输入图像描述

这就是我定义相对布局的方式:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:background="@color/white"
    android:orientation="vertical" 
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp">
4

2 回答 2

6

为了这you can use LinearLayout with weightSum and layout_wright property

所以尝试以下代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="8" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" >

        <!-- 1/8 % of Screen to left of your RelativeLayour -->
    </LinearLayout>

    <RelativeLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="6"
        android:background="@color/white"
        android:orientation="vertical" >
    </RelativeLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" >

        <!-- 1/8 % of Screen to right of your RelativeLayour -->

    </LinearLayout>

</LinearLayout>
于 2013-08-01T18:54:34.630 回答
1

使用新的百分比支持库。

compile 'com.android.support:percent:24.0.0'

使用 PercentageRelativelayout 你可以做到这一点。请参见下面的示例。

    <android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_vertical"
    android:background="@android:color/black"
    android:orientation="vertical"
    app:layout_marginLeftPercent="5%"
    app:layout_marginRightPercent="5%"
    app:layout_marginTopPercent="5%"
    app:layout_marginBottomPercent="5%"
    >
</RelativeLayout>

有关更多信息Android 文档

*示例和教程 * Tutorial1 Tutorial2 Tutorial3

于 2016-10-26T13:26:36.447 回答