为什么按钮显示错误的颜色?
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"
此按钮显示紫色,其 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"