Мне нужно создать пользовательский CheckBox со стилем материала по умолчанию.
Мой класс определяется следующим образом:
class CustomCheckBox @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : CheckBox(context, attrs, defStyleAttr) {
}
Если я посмотрю на свойства CheckBox по умолчанию, у них будут определены следующие атрибуты
background: @android:drawable/control_background_40pd_material
button: @android:drawable/btn_check_material_anim
но у производного виджета их нет.
Как применить их к производному классу?
Обновление
Я пытался расширить MaterialCheckBox
, и атрибуты по умолчанию теперь отображаются на панели, но это дает исключение
IllegalArgumentException: The style on this component requires your app
theme to be Theme.MaterialComponents (or a descendant)
Я не использую тему Material
, так как я могу Сделать фон по умолчанию и кнопку, которую можно нарисовать, применить к пользовательскому классу?