背景图像不只显示一个蓝色方块

background image not showing only a blue square

我正在使用按钮并将背景设置为我的可绘制对象文件夹中的 png。这是我以前用过很多次的方法。只使用一个按钮而不是图像按钮,因为它可以灵活地在按钮上显示相关文本而没有不必要的图像。

    <Button
    android:id="@+id/button"
    android:onClick="holiday"
    android:layout_width="299dp"
    android:layout_height="199dp"
    android:layout_marginTop="70dp"
    android:background="@drawable/glassbtn63"
    android:gravity="center"
    android:padding="10dp"
    android:text="@string/set1"
    android:textColor="@color/blue"
    android:textSize="40sp"
    android:textStyle="bold"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

此代码在以前的应用程序中按要求工作,但不是新的, 有谁知道为什么?

这是因为您使用的是 Theme.MaterialComponents.* 主题。
Button 被替换为 MaterialButton 并且背景使用您主题中定义的 ?attr/colorPrimary 着色。

在您的 Button 中添加 app:backgroundTint="@null" 以避免它:

        <Button
            android:background="@drawable/..."
            app:backgroundTint="@null"