Android studio 用于具有类似样式的多个按钮的单个xml

Android studio 用于具有类似样式的多个按钮的单个xml,android-studio,Android Studio,我想做3个类似的按钮,它们之间的区别是它们是不同的颜色。我之前发现,给按钮圆角的方法是为其创建一个xml文件,但在这种情况下,我已经将按钮的颜色添加到xml文件中。在本例中,我不想这样做,因为这样我就必须创建3个几乎相同的xml文件来更改每个按钮的颜色。有没有一种方法可以拆分代码,使所有三个按钮都为按钮样式引用一个xml,并有一行单独的代码来修改颜色?在项目的values文件夹中,创建一个style.xml文件(如果它不存在)。然后,添加类似于以下的代码,以设置每个按钮的常用功能: <!-

我想做3个类似的按钮,它们之间的区别是它们是不同的颜色。我之前发现,给按钮圆角的方法是为其创建一个xml文件,但在这种情况下,我已经将按钮的颜色添加到xml文件中。在本例中,我不想这样做,因为这样我就必须创建3个几乎相同的xml文件来更改每个按钮的颜色。有没有一种方法可以拆分代码,使所有三个按钮都为按钮样式引用一个xml,并有一行单独的代码来修改颜色?

在项目的
values
文件夹中,创建一个
style.xml
文件(如果它不存在)。然后,添加类似于以下的代码,以设置每个按钮的常用功能:

<!-- Style for a button -->
<style name="buttonStyle">
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_width">wrap_content</item>
    <item name="android:fontFamily">sans-serif</item>
    <item name="android:textAllCaps">false</item>
</style>
最后,如果您还想创建一个圆角按钮,请参考此StackOverflow post了解方向:
您需要创建一个自定义布局,并在每个按钮内将其作为可绘制的参考。

您找到解决此问题的方法了吗?是否有办法分割颜色和圆角?在你的回答中,你的背景是颜色,在你提到的帖子中,背景也是圆角,我认为你不能有两个背景。我不想仅仅为了改变颜色而制作三种不同的xml。似乎创建圆角的一种更简单的方法是将其添加到按钮布局中:android:radius=“10dp”。
    <Button
        android:id="@+id/restore_button"
        style="@style/buttonStyle"
        android:layout_width="200dp"
        android:textSize="18sp"
        android:layout_height="wrap_content"
        android:text="@string/restore_button_text" />
android:background="@android:color/white"