我制作了一个自定义复选框,其中复选框文本位于左侧,复选标记位于右侧。我的自定义复选框工作正常,但面临问题。也就是说,我的复选框文本没有完全对齐左边。左边有一些空间。我的代码是。
<CheckBox
android:id="@+id/chk_1"
android:text="DHKXXX"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:button="@null"
android:drawableRight="@xml/custom_checkbox"
/>
答案 0 :(得分:3)
我认为你的默认drawable占用了额外的区域。您可以通过添加以下行来解决此问题。
android:layout_marginLeft="-40dp"
答案 1 :(得分:1)
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layoutDirection="rtl"
android:text="Check box One"
android:textSize="12sp"
android:textColor="@android:color/black"
android:textAlignment="textStart"
tools:ignore="MissingPrefix" />
答案 2 :(得分:0)
尝试以下方法:
1)你的父母可能有一个默认的左边填充,导致它留下一些空间。
2)您可以通过将左边距设置为0来手动设置正确的方向: 机器人:layout_marginLeft
3)如果保证金没有通过以下方式修复,您也可以将填充设置为0: 机器人:paddingLeft
4)如果这些都没有解决问题,请使用负值作为保证金。
5)您也可以尝试使用相对布局来对齐元素
6)最坏的情况,使用绝对定位
答案 3 :(得分:0)
添加
android:paddingLeft="0dp"
避免复选框左侧的空白区域。来源链接:
How to show android checkbox at right side?
由zeusboy回答。
答案 4 :(得分:0)
添加layoutdirection“ rtl”的工作原理:
import logging
logger_A = logging.getLogger("A")
logger_B = logging.getLogger("B")
logger_A.setLevel(logging.DEBUG)
logger_B.setLevel(logging.CRITICAL)
logger_A.error("this is A error")
logger_B.error("this is B error")