How to remove padding around Android CheckBox

2020-06-30 08:58发布

I need to put check to the right hand top corner of my imageview. But when I do this I noticed a default margin around my checkbox. Is there a way to remove this??

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" >

        <ImageView
            android:id="@+id/thumbImage"
            android:layout_width="100dp"
            android:layout_height="132dp"
            android:layout_gravity="center" />
    </FrameLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:background="#ff0000"
        android:gravity="center" >

        <CheckBox
            android:id="@+id/itemCheckBox"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_gravity="center"
            android:button="@drawable/checkbox_background"
            android:paddingLeft="0dp"
            android:paddingTop="0dp" />

    </LinearLayout>

</RelativeLayout>

5条回答
干净又极端
2楼-- · 2020-06-30 09:21

There's now a better way of doing this:

android:minWidth="0dp"
android:minHeight="0dp"
查看更多
We Are One
3楼-- · 2020-06-30 09:23

Thanks to @VladislavShcherbakov comment, it is:

android:paddingLeft="-5dp"
android:layout_marginStart="-5dp"
android:layout_marginLeft="-5dp"
// android:translationX="-5dp"
查看更多
Bombasti
4楼-- · 2020-06-30 09:25

This works for me in Constraint Layout. I hope it will work for another layout.

<androidx.appcompat.widget.AppCompatCheckBox
                ...
                android:translationX="-5dp"
                 />
查看更多
霸刀☆藐视天下
5楼-- · 2020-06-30 09:38

You could use a negative margin.

android:layout_marginTop = "-5dp"
android:layout_marginRight = "-5dp"
查看更多
老娘就宠你
6楼-- · 2020-06-30 09:41

Why to complicate with a negative padding and all. Use the simple and straight way, give padding to the FrameLayout instead tof the top most Relative layout that would do the trick. As you have only the CheckBox in the second layout there is no need to give padding for it.

Please do let me know if you face any problems or have any further doubts

查看更多
登录 后发表回答