2
Я разрабатываю приложение, в котором я использую флажок и применяемый селектор. Мой код флажком выглядит следующим образом:Android: переключатель селектора не работает должным образом
<CheckBox
android:id="@+id/checkBox"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="0.5"
android:button="@drawable/custom_checkbox"
android:clickable="false"
android:focusable="false"
android:gravity="center" />
custom_checkbox.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/checkbox_checked" android:state_checked="true"/>
<item android:drawable="@drawable/checkbox_checked" android:state_pressed="true"/>
<item android:drawable="@drawable/checkbox_unchecked"/>
</selector>
checkbox_checked
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/green_tic"/>
<item>
<shape android:shape="rectangle" >
<corners android:radius="@dimen/corner_radius_for_ask_option"/>
<size
android:height="20dp"
android:width="20dp" />
</shape>
</item>
</layer-list>
checkbox_unchecked
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<stroke
android:width="2px"
android:color="@color/color_light_grey" />
<corners android:radius="@dimen/corner_radius_for_ask_option" />
<size
android:height="20dp"
android:width="20dp" />
</shape>
</item>
</layer-list>
Приведенный выше код отлично работает на примечании 3 и такого же телефона. Это выглядит следующим образом:
Но на самсунг s2 это выглядит следующим образом:
Похоже, это [общая проблема] (http://stackoverflow.com/questions/3965484/custom-checkbox-image-android). 'android: button' и' android: drawable' кажутся кандидатами. Что произойдет, если вы перейдете на 'android: drawable ='? – dhke
Фактический цвет фона по умолчанию зависит от устройства и устройства. А также попробуйте добавить проверенный ложный атрибут с помощью строки неконтролируемого объекта –