Android Studio 使用自定义可绘制对象更改按钮背景颜色

Android Studio change button background color with custom drawable

我使用 xml 中的 自定义绘图,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/blue"/>
    <corners
        android:radius="150dp"/>
</shape>

在按钮上,我想以编程方式将按钮的颜色更改为另一种颜色,同时保持它从自定义可绘制对象获得的形状。这可能吗?

如果您不想在 xml 文件夹中使用普通背景色:

    android:backgroundTint="yourcolor"

在您的 java 代码中使用此代码:

    yourbutton.setBackgroundTintList(this.getResources().getColorStateList(R.color.colorname));