Android:Padding在RelativeLayout中不起作用

时间:2016-01-16 10:54:44

标签: relativelayout padding

我想在描述文本和开关之间填充,但paddingRight属性不起作用。为什么呢?

enter image description here

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/layoutLayout"
    android:layout_below="@+id/layoutHeader"
    android:layout_marginTop="15dp"
    android:layout_marginLeft="15dp"
    android:layout_marginRight="15dp">

    <Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/widgetShortSwitch"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is a long description text that should not overlay."
        android:textColor="#000000"
        android:paddingRight="15dp"
        android:id="@+id/widgetShortTextView"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        />
</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

试试这个......

<?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/layoutLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/layoutHeader"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_marginTop="15dp"
        android:weightSum="1">

        <TextView
            android:id="@+id/widgetShortTextView"
            android:layout_width="0"
            android:layout_height="wrap_content"
            android:paddingBottom="5dp"
            android:layout_weight="0.85"
            android:paddingRight="15dp"
            android:text="This is a long description text that should not overlay."
            android:textColor="#000000" />

        <Switch
            android:id="@+id/widgetShortSwitch"
            android:layout_width="0"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_weight="0.15" />
    </LinearLayout>

答案 1 :(得分:0)

您需要告诉RelativeLayout您的TextView留给您的Switch。 您还需要将TextView设置为alignParentLeft,以便它从左侧开始。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/layoutLayout"
    android:layout_below="@+id/layoutHeader"
    android:layout_marginTop="15dp"
    android:layout_marginLeft="15dp"
    android:layout_marginRight="15dp">

    <Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/widgetShortSwitch"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This is a long description text that should not overlay."
        android:textColor="#000000"
        android:paddingRight="15dp"
        android:id="@+id/widgetShortTextView"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/widgetShortSwitch"
        android:layout_alignParentLeft="true"
        />
</RelativeLayout>