0

我在以下位置定义了自定义按钮样式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>
4

1 回答 1

0

你应该使用ContextThemeWrapper

Button button = new Button(new ContextThemeWrapper(context, R.style.buttonBlack));
于 2017-10-04T12:15:29.890 回答