ListView 中的居中对齐复选框

Center align checkbox in ListView

我正在尝试将 ListView 行中的复选框居中对齐。

每个 ListView 行都包含一个复选框(左对齐)和两行文本(在复选框的右侧)。

关于如何将复选框置于行内的中心,即在顶部和底部分隔线之间居中而不是文本的顶行,有什么想法吗?

下面是我的ListView布局,供参考。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="5dp"
android:paddingBottom="5dp"
 >

<CheckBox
    android:id="@+id/cbBoxSL"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_alignParentLeft="true"
    android:scaleX="1.4"
    android:scaleY="1.4"
    android:gravity="center_vertical"

     >
</CheckBox>

<TextView
    android:id="@+id/tvSLItemName"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/cbBoxSL"
    android:layout_marginLeft="10dp"
    android:layout_alignBaseline="@+id/cbBoxSL"
    android:textSize="16sp"
    android:textColor="@color/aqua"
    android:singleLine="true">
</TextView>

<TextView
    android:id="@+id/tv_dateAdded"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvSLItemName"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="5dp"
    android:textSize="12sp"
    android:text="added on"
    android:textStyle="italic"
    android:textColor="@color/mid_grey"
    android:layout_toRightOf="@id/cbBoxSL"
    >
</TextView>

<TextView
    android:id="@+id/tv_date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvSLItemName"
    android:layout_toRightOf="@+id/tv_dateAdded"
    android:textSize="12dp"
    android:textStyle="bold"
    android:textColor="@color/mid_grey"
    android:layout_alignBaseline="@+id/tv_dateAdded"
    />

将此行添加到您的复选框 XML。

android:layout_centerVertical="true"

尝试在复选框布局中添加 android:layout_centerHorizontal="true" or/and android:layout_centerInParent="true"