如何在布局中向右和中间对齐高度
how to align to right and middle in height in layout
我有一个S,是左对齐的一个布局,
我想将 TextView 对齐到它的右侧和它的高度的中间。
我做了两个示例图片来解释得更清楚。
这就是我所拥有的(其中 A 是 S,b 是 TextView):
这就是我想要实现的:
我的 s 布局代码是:
<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"
/>
将此行添加到您的文本视图
android:layout_centerVertical="true"
我已删除 android:layout_marginTop="10dp"
并将 android:layout_gravity="center_vertical"
添加到您的 Switch
。
并在 TextView
中将 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>
这样使用。
删除您在 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>
我有一个S,是左对齐的一个布局, 我想将 TextView 对齐到它的右侧和它的高度的中间。 我做了两个示例图片来解释得更清楚。
这就是我所拥有的(其中 A 是 S,b 是 TextView):
这就是我想要实现的:
我的 s 布局代码是:
<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"
/>
将此行添加到您的文本视图
android:layout_centerVertical="true"
我已删除 android:layout_marginTop="10dp"
并将 android:layout_gravity="center_vertical"
添加到您的 Switch
。
并在 TextView
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>
这样使用。
删除您在 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>