如何在CheckedTextView中将复选框对齐到右侧

3

我有一个XML布局,我想让CheckBox对齐到右侧。
只有CheckBox应该在右侧而不是文本。

我该如何做到这一点?

答案: 在XML布局中添加android:gravity="right"属性到CheckBox。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">


        <CheckedTextView
             android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="?android:attr/listPreferredItemHeightSmall"
        android:textAppearance="?android:attr/textAppearanceListItemSmall"
        android:gravity="center_vertical"
        android:checkMark="?android:attr/listChoiceIndicatorMultiple"
        android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
        android:paddingRight="?android:attr/listPreferredItemPaddingRight"/>
</LinearLayout>
5个回答

2
以下代码对我有效。
 <CheckedTextView
    android:id="@+id/checkedTextView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:textColor="#000000,"
    android:layout_marginTop="48dp"
    android:checkMark="?android:attr/listChoiceIndicatorMultiple"
    android:checked="true"
    android:text="CheckedTextView" />

值得一提的是,这应该放在一个RelativeLayout中而不是LinearLayout中。 - ccpizza

0

更改为:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:orientation="horizontal">


    <CheckedTextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="?android:attr/listPreferredItemHeightSmall"
        android:textAppearance="?android:attr/textAppearanceListItemSmall"
        android:gravity="center_vertical"
        android:checkMark="?android:attr/listChoiceIndicatorMultiple"
        android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
        android:paddingRight="?android:attr/listPreferredItemPaddingRight"/>
</LinearLayout>

0

你应该在CheckedTextView元素中尝试使用android:gravity="center_vertical|right"


0
根据我的经验,这会在各种设备上引起问题 :/ 我现在使用两个视图,一个是自定义的 ImageView,它具有内部检查状态,可以通过图像单击更改,并为此提供了getter和setter。另一个视图是简单的 TextView。现在我将它们都放入一个 RelativeLayout 中,并在 ImageView 上设置 alignParentRight,并告诉 TextView 在图像右侧并填充父宽度,并且也在垂直中心。
在此之前,我在 CheckBox 上使用的是 drawableRight="@drawable/..."

-1

替换这行:

android:gravity="center_vertical"

与之一起

android:gravity="center_vertical|right"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接