是否有一种简单的方法可以在复选框控件中的复选框和相关文本之间添加填充?

我不能只添加前导空格,因为我的标签是多行。

就像,文本太接近复选框了:


当前回答

设置minHeight和minWidth为0dp是我在Android 9 API 28上最干净和最直接的解决方案:

<CheckBox
        android:id="@+id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minHeight="0dp"
        android:minWidth="0dp" />

其他回答

如果您正在创建自定义按钮,例如,请参阅更改复选框的外观教程

然后简单地增加btn_check_label_background.9.png的宽度,在图像中心增加一到两列透明像素;让9个补丁标记保持原样。

我想这个能帮到你

<复选框 android: layout_width = " wrap_content " android: layout_height = " wrap_content " android: drawablePadding = " -30 dp” android: paddingLeft = " 30 dp " android: drawableLeft = " @drawable /检查” />

对于复选符号和文本之间的空格,使用:

android:paddingLeft="10dp"

但它会超过10dp,因为选中标记周围包含填充(大约5dp)。如果你想删除填充,请参见如何删除Android复选框周围的填充:

android:paddingLeft="-5dp"
android:layout_marginStart="-5dp"
android:layout_marginLeft="-5dp"
// or android:translationX="-5dp" instead of layout_marginLeft

是的,您可以通过添加填充来添加填充。

android:衬垫= 5dp

我有同样的问题与Galaxy S3 mini (android 4.1.2),我只是让我的自定义复选框扩展AppCompatCheckBox而不是checkbox。现在它工作得很完美。