我有一个 xml 文件 res/color/btn_black,它允许我对按钮应用渐变外观。
我可以通过调用在 layout.xml 中成功使用它:
<Button
android:background="@color/btn_black"
/>
在其他地方,我在 Java 中动态创建按钮,并且我想应用相同的样式。当我尝试使用:
myButton.setBackgroundColor(getResources().getColor(R.color.btn_black));
我收到此错误:
android.content.res.Resources$NotFoundException:
File res/color/btn_black.xml from color state list resource ID #0x7f040001
这似乎是我在这里找到的其他问题的正确方法,但它对我不起作用。我究竟做错了什么?
编辑:这是文件 btn_black.xml 供参考
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#343434" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#343434"
android:endColor="#171717"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="4dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>