Android 按钮颜色 [使用的形状]

Android Button color [used shape]

res/drawable/circle.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:angle="90"
        android:startColor="#024ee6"
        android:endColor="#0292e6"/>
    <stroke
        android:width="10dip"
        android:color="#1161b8" />
    <corners android:radius="1000dp" />
    <padding
        android:bottom="4dp"
        android:left="4dp"
        android:right="4dp"
        android:top="4dp" />
</shape>

在我的布局中 xml 有 2 个按钮使用了这种形状:

        <Button
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_gravity="center"
            android:drawableTop="@android:drawable/ic_menu_send"
            android:background="@drawable/circle"
            android:text="btn 1" />


        <Button
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_gravity="center"
            android:background="@drawable/circle"
            android:drawableTop="@android:drawable/ic_menu_manage"
            android:text="btn 2" />

按钮的颜色不是应该的,而是紫色。 我该如何解决?

由于在应用主题中使用了material组件,您选择的颜色被替换为紫色,所以有两种方式显示您想要的颜色

首先:为按钮添加背景色 属性

<Button
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_gravity="center"
            android:drawableTop="@android:drawable/ic_menu_send"
            android:background="@drawable/circle"
            app:backgroundTint="@null" // this line
            android:text="btn 1" />

第二:将 Button 替换为 AppCompatButton

<androidx.appcompat.widget.AppCompatButton
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:layout_gravity="center"
            android:drawableTop="@android:drawable/ic_menu_send"
            android:background="@drawable/circle"
            android:text="btn 1" />