如何在CheckedtextView中对齐右侧的复选框
How to align check box on the right side in CheckedtextView
我有一个 XML 布局,我想让 CheckBox 对齐到右侧。
只有 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>
您应该在 CheckedTextView 元素中尝试 android:gravity="center_vertical|right"
。
替换此行:
android:gravity="center_vertical"
和
android:gravity="center_vertical|right"
更改为:
<?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>
根据我的经验,这会导致各种设备出现问题:/我现在为此使用了两种视图,一种是定制的 ImageView
,它具有内部检查状态,可在单击图像时发生变化并且也有吸气剂和吸气剂。另一个视图是一个简单的TextView
。现在我将它们都放入 RelativeLayout
并在 ImageView
上设置 alignParentRight 并告诉 TextView
在图像的右侧并填充父级的宽度并且也在 a垂直居中。
在此之前,我在 CheckBox
上使用 drawableRight="@drawable/..."
以下代码对我有用
<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" />
我有一个 XML 布局,我想让 CheckBox 对齐到右侧。
只有 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>
您应该在 CheckedTextView 元素中尝试 android:gravity="center_vertical|right"
。
替换此行:
android:gravity="center_vertical"
和
android:gravity="center_vertical|right"
更改为:
<?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>
根据我的经验,这会导致各种设备出现问题:/我现在为此使用了两种视图,一种是定制的 ImageView
,它具有内部检查状态,可在单击图像时发生变化并且也有吸气剂和吸气剂。另一个视图是一个简单的TextView
。现在我将它们都放入 RelativeLayout
并在 ImageView
上设置 alignParentRight 并告诉 TextView
在图像的右侧并填充父级的宽度并且也在 a垂直居中。
在此之前,我在 CheckBox
上使用drawableRight="@drawable/..."
以下代码对我有用
<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" />