为什么按钮显示错误的颜色?

Why button is displaying the wrong color?

此按钮显示紫色,其 XML 代码为

        android:id="@+id/btnLogin"
        android:layout_width="128dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="141dp"
        android:layout_marginEnd="142dp"
        android:layout_marginBottom="48dp"
        android:background="@drawable/btn_login"
        android:fontFamily="@font/poppins"
        android:text="Login"
        android:textAllCaps="false"
        android:textSize="18sp"
        app:layout_constraintBottom_toTopOf="@+id/tvCreateAccount"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

“@drawable/btn_login”是我创建的形状-

<shape xmlns:android="http://schemas.android.com/apk/res/android"

    android:shape="rectangle">


    <solid android:color="#71D775">
    </solid>
    <corners android:radius="66dp">
    </corners>



</shape>

这就是它的样子,

这是因为默认 MaterialButton 样式会覆盖 backgroundTint

因此,如果我们使用自定义 android:background,我们必须确保取消 backgroundTint。我们可以通过以下任意一种方式实现:

将这些行中的任何一行添加到您的按钮 XML。

app:backgroundTint="@null"      

app:backgroundTint="@empty"

出于某种原因,您需要将 app:backgroundTint 设置为空。 像这样:

app:backgroundTint="@null"