Android 矩形可拉深圆片';不显示为复选框选择器项

Android 矩形可拉深圆片';不显示为复选框选择器项,android,checkbox,shape,Android,Checkbox,Shape,我定义了一个如下所示的矩形: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="4dip"/> <solid android:color="#FF000000" /> <stroke android:width="1dip" andro

我定义了一个如下所示的矩形:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">

    <corners android:radius="4dip"/>
    <solid android:color="#FF000000" />
    <stroke android:width="1dip" android:color="@color/service_checkbox_disabled_unchecked_stroke" />

</shape>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:state_checked="true" android:drawable="@drawable/bg_services_tick_unchecked_disabled" />
    <item android:state_checked="false" android:drawable="@drawable/bg_services_tick_unchecked_disabled" />

</selector>

我可以毫无问题地将绘图显示为imageView。但是,它应该是复选框的一种状态的绘图。复选框按钮的我的选择器定义如下:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle">

    <corners android:radius="4dip"/>
    <solid android:color="#FF000000" />
    <stroke android:width="1dip" android:color="@color/service_checkbox_disabled_unchecked_stroke" />

</shape>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:state_checked="true" android:drawable="@drawable/bg_services_tick_unchecked_disabled" />
    <item android:state_checked="false" android:drawable="@drawable/bg_services_tick_unchecked_disabled" />

</selector>

最后是我的复选框:

<CheckBox
    android:id="@+id/cb_tariff_3_next_month_checkbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:button="@drawable/checkbox_services"
    android:layout_centerHorizontal="true"/>


谁能告诉我,为什么这不起作用?非常感谢。

您必须向形状添加尺寸节点:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    >
    <size android:width="30dp" android:height="30dp" />
    <solid android:color="@color/blueBase"/>
    <stroke
        android:width="1dp"
        android:color="@color/blueDark" />
</shape>


请接受下面的答案。这是一点不同寻常的晦涩知识,值得承认。(我不是海报)。你救了我一天。一天两次!我正在发疯,试图弄明白为什么它可以使用可绘制的文件而不是XML文件。这种行为在我看来非常不一致。我通过添加一个透明的颜色作为按钮和选择器作为背景来实现它。但我的变通办法让我不满意,你是怎么想出来的?你看了什么文件?你怎么知道这些,都在文件里?