我在styles.xml
中定义了自定义按钮样式:
<style name="buttonBlack">
<item name="android:background">@drawable/selector_button_black_bg</item>
<item name="android:textColor">@android:color/white</item>
</style>
当我通过布局xml设置它时,它可以正常工作:
<Button style="@style/buttonBlack" ... />
当我通过代码设置它时,它不起作用(我得到空按钮,没有背景):
Button button = new Button(this, null, R.style.buttonBlack);
我在这里做错了什么?
这是选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/button_black_pressed" />
<item android:state_focused="true" android:drawable="@drawable/button_black_focused" />
<item android:drawable="@drawable/button_black_normal" />
</selector>
答案 0 :(得分:0)
您应该使用ContextThemeWrapper
Button button = new Button(new ContextThemeWrapper(context, R.style.buttonBlack));