TextView的SwitchCompat被推出视线之外

时间:2015-12-18 11:40:03

标签: android layout textview relative

再一次,我正在努力解决一些布局问题。 我有一个带有两个TextView和一个SwitchCompat的CardView布局。 现在,左边是开关,文本就在右边(垂直)。我希望这种布局方式相反,例如在应用的Android通知设置中: Google Navigation Settings, that's how I want it to be

我的问题是,当我“转动我当前的布局”时,当textView变得太长时,开关会被推到右边。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingTop="20dp"
    android:paddingBottom="20dp"
    android:paddingRight="20dp"
    android:paddingLeft="16dp"
    android:id="@+id/relative">

    <android.support.v7.widget.SwitchCompat
        android:id="@+id/switch_card"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="20dp" />

    <TextView
        android:id="@+id/textView_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/switch_card"
        android:singleLine="false"
        android:text="@string/title_card"
        android:textColor="@color/text_black"
        android:textSize="22dp" />

    <TextView
        android:id="@+id/textView_reminder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textView_title"
        android:layout_toRightOf="@id/switch_card"
        android:paddingTop="10dp"
        android:singleLine="false"
        android:text="@string/reminder_card"
        android:textColor="@color/text_grey"
        android:textSize="18dp" />
</RelativeLayout>

你能否帮我改变我的布局,使其符合截图之一?我似乎无法独自完成它。

1 个答案:

答案 0 :(得分:1)

试试这个:将SwitchCompat与righParent对齐的技巧,并为你正在使用的TextView设置一些余量,这样它们就不会与SwitchCompat重叠

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingTop="20dp"
        android:paddingBottom="20dp"
        android:paddingRight="20dp"
        android:paddingLeft="16dp"
        android:id="@+id/relative">

        <android.support.v7.widget.SwitchCompat
            android:id="@+id/switch_card"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="20dp" />

        <TextView
            android:id="@+id/textView_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="40dp"
            android:singleLine="false"
            android:text="@string/title_card"
            android:textColor="@color/text_black"
            android:textSize="22dp" />

        <TextView
            android:id="@+id/textView_reminder"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/textView_title"
            android:layout_marginRight="40dp"
            android:paddingTop="10dp"
            android:singleLine="false"
            android:text="@string/reminder_card"
            android:textColor="@color/text_grey"
            android:textSize="18dp" />

    </RelativeLayout>

希望这是有帮助的

祝你好运!