Я пытаюсь создать пользовательское представление, расширяющееся от MaterialButton
, и применить стиль в коде, поэтому мне не нужно делать это в xml.
class CustomRedButton @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : MaterialButton(ContextThemeWrapper(context, R.style.ButtonRedStyle), attrs, defStyleAttr)
Стиль:
<style name="ButtonRedStyle"
parent="Widget.MaterialComponents.Button.TextButton">
<item name="backgroundTint">@color/red</item>
<item name="rippleColor">@color/grey</item>
<item name="strokeWidth">1dp</item>
<item name="strokeColor">@color/black</item>
</style>
Все отлично работает, но backgroundTint
свойство.По какой-то причине цвет фона не меняется, и он имеет основной цвет Темы.Однако, если я попытаюсь применить стиль к MaterialButton
в xml, он изменит цвет.
Есть идеи, почему это может происходить или как я могу этого достичь?