我试图创建一个扩展自
MaterialButton
的自定义视图,并在代码中应用样式,以便我不需要在xml中进行操作。
我想要创建一个继承自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
属性不起作用。由于某种原因,背景颜色没有改变,而且它具有主题的主要颜色。但是,如果我尝试在xml中将样式应用于MaterialButton
,它会改变颜色。
有什么想法为什么会出现这种情况或者我应该如何解决它?
Theme.MaterialComponents.Light.NoActionBar
。 - evaristokbza