Измените значки отмеченных и непроверенных для флажка для Android

Вместо того, чтобы иметь галочку для значка, я хочу обычную звезду (у меня есть отмеченные и отмеченные иконки). Можно ли это сделать через собственность? Или я должен объявить пользовательский виджет, который происходит из флажка?

Ответ 1

Вид смеси:

Установите его в файле макета: -

 <CheckBox android:layout_width="wrap_content"
           android:layout_height="wrap_content" 
           android:text="new checkbox"
           android:background="@drawable/checkbox_background" 
           android:button="@drawable/checkbox" />

где флажок @drawable/будет выглядеть так:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_checked="true" android:state_focused="true"
  android:drawable="@drawable/checkbox_on_background_focus_yellow" />
 <item android:state_checked="false" android:state_focused="true"
  android:drawable="@drawable/checkbox_off_background_focus_yellow" />
 <item android:state_checked="false"
  android:drawable="@drawable/checkbox_off_background" />
 <item android:state_checked="true"
  android:drawable="@drawable/checkbox_on_background" />
</selector>

Ответ 2

it android:button="@drawable/selector_checkbox" чтобы заставить его работать

Ответ 3

Я понимаю, что это старый вопрос, и ОП говорит об использовании настраиваемого gx, который не является обязательным "флажком" -looking, но здесь есть фантастический ресурс для создания настраиваемых цветных активов: http://kobroor.pl/

Просто дайте ему соответствующую информацию, и он выложит графику, в комплекте с XML-ресурсами, которые вы можете просто вставить прямо в.

Ответ 4

Одним из альтернатив было бы использовать drawable/textview вместо флажка и манипулировать им соответствующим образом. Я использовал этот метод, чтобы иметь собственные проверенные и непроверенные изображения для приложения задачи.

Ответ 5

Это может быть достигнуто с помощью AppCompatCheckBox. Вы можете использовать app:buttonCompat="@drawable/selector_drawable", чтобы изменить селектор.

Он работал с PNG, но я не нашел способа, чтобы он работал с Vector Drawables.