以编程方式更改自定义按钮的颜色

时间:2016-08-20 21:17:31

标签: java android button themes

我有一个自定义按钮形状,我用于所有按钮。我正在尝试实现主题,但我可以弄清楚如何自动更改按钮的“实心”颜色,而不会摆脱我的自定义形状。任何人都可以让我知道如何去做吗?我试图改变按钮的背景颜色,但我没有看到任何变化;不知道为什么。

这是我的自定义按钮形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
    android:radius="14dp"
    />
<solid
    android:color="#D1D1D1"
    />
<size
    android:width="177dp"
    android:height="60dp"
    />
<stroke
    android:width="7dp"
    android:color="#FFFFFF"
    />
</shape>

1 个答案:

答案 0 :(得分:0)

我认为你应该为xml文件分配一个id

然后你只需通过findViewById

识别Button

如果您使用多个主题,则可以使用案例切换功能

Button button= (Button)findViewById(R.id.yourbutton)

button.setBackgroundColor(getResources().getColor(R.color.whatevercolor));   //or even better button.setBackgroundColor(0xFFFFFF);