我在ListView
中列出了许多Switch元素。目前它们出现如下:
但我需要它们垂直居中,例如
我使用以下AXML作为每个列表项的定义:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget32"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Switch
android:id="@+id/switchOutput"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:text="[Output Name]"
android:gravity="center_vertical" />
<ImageButton
android:id="@+id/imgTime"
android:background="@null"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/datetime"
android:scaleType="fitCenter"
android:layout_alignParentRight="true" />
</RelativeLayout>
我认为android:gravity="center_vertical"
足以让它们正确显示,但它似乎不起作用。我需要什么才能使开关在每个列表项中垂直居中?
答案 0 :(得分:3)
添加android:layout_centerVertical="true"
...这会将该孩子垂直居中于其父...
注意: - 父版面必须为RelativeLayout
..
OP编辑:现在这是正确居中的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget32"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Switch
android:id="@+id/switchOutput"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:text="[Output Name]"
android:layout_centerVertical="true" />
<ImageButton
android:id="@+id/imgTime"
android:background="@null"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/datetime"
android:scaleType="fitCenter"
android:layout_alignParentRight="true" />
</RelativeLayout>
答案 1 :(得分:0)
您必须将center
标记设置为父RelativeLayout
答案 2 :(得分:0)
你的意思是这样吗?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget32"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<Switch
android:id="@+id/switchOutput"
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/imgTime"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:text="[Output Name]" />
<ImageButton
android:id="@+id/imgTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@null"
android:scaleType="fitCenter"
android:src="@drawable/datetime" />
</RelativeLayout>
答案 3 :(得分:0)
您可以使用:
android: layout_centerVertical = "true".