Android 可绘制的自定义切换按钮未居中

Android 可绘制的自定义切换按钮未居中,android,xml,android-checkbox,android-togglebutton,Android,Xml,Android Checkbox,Android Togglebutton,我试图用一个切换按钮来模拟一个复选框,因为我需要自定义整个小部件,所以我尝试下一个代码,但是图像位于左侧,我需要将它放在中间 <ToggleButton android:id="@+id/tb_legal_conditions" android:layout_width="32dp" android:layout_height="32dp"

我试图用一个切换按钮来模拟一个复选框,因为我需要自定义整个小部件,所以我尝试下一个代码,但是图像位于左侧,我需要将它放在中间

<ToggleButton
                    android:id="@+id/tb_legal_conditions"
                    android:layout_width="32dp"
                    android:layout_height="32dp"
                    android:background="@drawable/checkbox_bg"
                    android:button="@drawable/checkbox"
                    android:checked="true"
                    android:gravity="center"
                    android:minHeight="0dp"
                    android:minWidth="0dp"
                    android:textOff="@null"
                    android:textOn="@null" />

checkbox.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_checked="false" android:drawable="@color/transparent" />
    <item a<ndroid:state_checked="true" android:drawable="@drawable/ic_checked" />
    <item android:drawable="@color/transparent" />
</selector>


我认为问题在于你的“按钮”属性。我很幸运:

   <ToggleButton
            android:id="@+id/contacts_subscribe_button"
            android:layout_width="32dp"
            android:layout_height="32dp"
            android:background="@drawable/checkbox_bg"
            android:src="@drawable/checkbox_src"
            android:checked="true"
            android:gravity="center"
            android:minHeight="0dp"
            android:minWidth="0dp"
            android:textOff="@null"
            android:textOn="@null" />

复选框_bg.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false" android:drawable="@color/transparent" />
<item android:state_checked="true" android:drawable="@drawable/ic_checked" />
<item android:drawable="@color/transparent" />

复选框_src.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/brikky1"/>
<corners
    android:radius="2dp"
    android:bottomLeftRadius="2dp"
    android:bottomRightRadius="2dp"
    android:topLeftRadius="2dp"
    android:topRightRadius="2dp" />
<size android:height="32dp" android:width="32dp"/>
</shape>


ic_检查的高度和宽度是否等于32dp?这是一个向量。看第一篇文章,我添加了一些新代码。太好了!!我不知道现在有什么不同。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="false" android:drawable="@color/transparent" />
<item android:state_checked="true" android:drawable="@drawable/ic_checked" />
<item android:drawable="@color/transparent" />
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/brikky1"/>
<corners
    android:radius="2dp"
    android:bottomLeftRadius="2dp"
    android:bottomRightRadius="2dp"
    android:topLeftRadius="2dp"
    android:topRightRadius="2dp" />
<size android:height="32dp" android:width="32dp"/>
</shape>