繁体   English   中英

如何在布局中对齐高度的正中和中间

[英]how to align to right and middle in height in layout

我有一个Switch,女巫与布局的左边对齐,我想将TextView对齐到它的右边并且到它的高度的中间。 我已经做了两个示例图片来更清楚地解释它。

这就是我所拥有的(其中A是Switch,b是TextView):

在此输入图像描述

这就是我想要实现的目标:

在此输入图像描述

我的交换机布局代码是:

<Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="CIR"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:checked="true"
        android:gravity="center"
        android:id="@+id/newProject_switch"
        android:layout_below="@+id/newProject_networkId"
        android:layout_marginTop="10dp"
        android:layout_alignParentLeft="true"
        />

我的TextView布局代码是:

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Best Effort"
        android:textSize="15dp"
        android:id="@+id/textView2"
        android:layout_alignBottom="@+id/newProject_switch"
        android:gravity="right|center_vertical"
        android:layout_toRightOf="@+id/newProject_switch"
        />

用这种方式。

删除你在Switch设置的额外Margin ,并使用android:gravity="center_vertical 。并将TextView设置为android:gravity="center_vertical|right" ,使其右侧和垂直居中。

  <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Switch
            android:id="@+id/newProject_switch"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:checked="true"
            android:gravity="center_vertical"
            android:text="CIR" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_alignBottom="@+id/newProject_switch"
            android:layout_toRightOf="@+id/newProject_switch"
            android:gravity="center_vertical|right"
            android:text="Best Effort"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="15dp" />
    </LinearLayout>

在此输入图像描述

将此行添加到textview

android:layout_centerVertical="true"

我已删除android:layout_marginTop="10dp"并将android:layout_gravity="center_vertical"到您的Switch
并在TextView android:layout_gravity="right|center_vertical" android:gravity="right|center_vertical"更改为android:layout_gravity="right|center_vertical"

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#e4e4e4"
        android:orientation="horizontal" 
        >
        <Switch
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="CIR"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:checked="true"
            android:gravity="center"
            android:id="@+id/newProject_switch"
            android:layout_below="@+id/newProject_networkId"
            android:layout_alignParentLeft="true"
            android:layout_gravity="center_vertical"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Best Effort"
            android:textSize="15dp"
            android:id="@+id/textView2"
            android:layout_alignBottom="@+id/newProject_switch"
            android:layout_gravity="right|center_vertical"
            android:layout_toRightOf="@+id/newProject_switch"
            />
    </LinearLayout>

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM