我已经定义了一个像这样的矩形drawable:
<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>
我可以毫无问题地将drawble显示为imageView.但是,它应该是一个复选框状态的抽象.我的复选框按钮选择器定义如下:
<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>