如何在线性布局中将开关对齐到中心,将文本视图对齐到右端?

时间:2017-01-23 09:30:03

标签: android android-layout android-linearlayout android-layout-weight

我有一个水平方向的线性布局,重量和为3,左右两端有2个文本视图,中间有一个开关。我无法将文本视图对齐到右端并切换到中心。我使用了重力中心和重力端,但它们没有工作

<LinearLayout
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:padding="@dimen/rm_dashboard_ll_padding"
    android:weightSum="3"
    android:layout_height="wrap_content">
        <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/available"
             android:textColor="#82BCB4"
             android:textSize="@dimen/available_textsize"
             android:layout_weight="1"/>

        <Switch
             android:id="@+id/theSwitchId"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:switchMinWidth="@dimen/rm_switch_minwidth"
             android:track="@drawable/switch_bg"
             android:layout_marginStart="@dimen/margin_start_switch"
             android:thumbTint="#224e6d"
             android:layout_gravity="center"
             android:layout_marginLeft="@dimen/margin_left_switch"
             android:layout_weight="1"/>

        <TextView
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/unavailable"
             android:textColor="#224e6d"
             android:textSize="@dimen/unavailable_textsize"
             android:layout_gravity="end"
             android:layout_weight="1"/>
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

我建议使用RelativeLayout进行复杂对齐。尝试下面的布局模型:

<RelativeLayout>
    <TextView
        android:layout_alignParentLeft="true"
    />
    <Switch
        android:layout_alignParentCenter="true"
    />
    <TextView
        android:layout_alignParentRight="true"
    />
</RelativeLayout>

有关其他对齐类型的详细信息,请参阅RelativeLayout.LayoutParams

答案 1 :(得分:0)

请检查此代码

<LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:padding="@dimen/rm_dashboard_ll_padding"
        android:weightSum="3"
        android:layout_height="wrap_content">
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/available"
            android:textColor="#82BCB4"
            android:textSize="@dimen/available_textsize"
            android:layout_weight="1"
            />

        <Switch
            android:id="@+id/theSwitchId"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:switchMinWidth="@dimen/rm_switch_minwidth"
            android:track="@drawable/switch_bg"
            android:layout_marginStart="@dimen/margin_start_switch"
            android:thumbTint="#224e6d"
            android:gravity="center"
            android:layout_marginLeft="@dimen/margin_left_switch"
            android:layout_weight="1"/>

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/unavailable"
            android:textColor="#224e6d"
            android:textSize="@dimen/unavailable_textsize"
            android:gravity="end"
            android:layout_weight="1"/>
    </LinearLayout>