定义的颜色未显示在可绘制元素上 - Android studio

Defined color is not showing on drawable element - Android studio

我在可绘制文件夹中的 button.xml 文件中遇到颜色问题。 我有 2 个圆形按钮,一个是绿色背景,一个是灰色。这是我的灰色圆形按钮的代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <solid android:color="@color/mesi_grey" />
    <corners android:radius="10dp" />
</shape>

颜色在 colors.xml 中定义,并且显示在可绘制项目中:

在布局中,我创建了一个按钮并调用了 android:background="@drawable/round_button_grey""

两个按钮的代码:

 <LinearLayout
        android:layout_width="307dp"
        android:layout_height="57dp"
        android:layout_marginStart="20dp"
        android:layout_marginEnd="20dp"
        android:layout_marginBottom="20dp"
        android:orientation="horizontal"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent">

        <Button
            android:id="@+id/cancel_button"
            android:layout_width="150dp"
            android:layout_height="49dp"
            android:layout_marginEnd="4dp"
            android:layout_marginBottom="100dp"
            android:background="@drawable/round_button_grey"
            android:text="Prekliči" />

        <Button
            android:id="@+id/add_bike_button"
            android:layout_width="150dp"
            android:layout_height="49dp"
            android:layout_marginEnd="88dp"
            android:layout_marginBottom="104dp"
            android:background="@drawable/round_button_green"
            android:text="Potrdi" />
    </LinearLayout>

结果我的两个按钮都是绿色的,但我希望左侧按钮是灰色的。

谢谢你帮我!

我在 themes.xml 中定义的绿色是否可能覆盖其他所有颜色?

<!-- Mesi Theme. -->
    <style name="Theme.Mesibike" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <!-- Primary brand color.-->
        <item name="colorPrimary">@color/mesi_green</item>
        <item name="colorPrimaryVariant">@color/mesi_green</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!--<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> -->
    </style>

如果您只想将 Button 背景设为灰色。使用此属性 android:backgroundTint="@color/mesi_grey"。如果你想让你的自定义按钮具有 Gradient 背景,那么你必须使用 ImageButton。 您的新XML低于

<Button
            android:id="@+id/cancel_button"
            android:layout_width="150dp"
            android:layout_height="49dp"
            android:layout_marginEnd="4dp"
            android:layout_marginBottom="100dp"
            android:backgroundTint="@color/mesi_grey"
            android:text="Prekliči" />

如果您想要带有渐变按钮的自定义背景,请告诉我。我会更新的。