为什么按钮没有从 xml 获取所有属性

Why the button doesn't get all the attributes from xml

我创建了一个名为 round_button 的 xml 文件。这是一个带有渐变的简单圆形按钮。这是简单的代码

    <?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle"
    xmlns:android="http://schemas.android.com/apk/res/android">
            <corners android:radius="3000dip" />
            <gradient android:type="linear" android:startColor="#8dbab3" android:endColor="#0DCAAC" />
</shape>

这就是输出:

这是我的 activity.xml 文件的代码。

 <Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_toRightOf="@+id/city"
    android:text="Search"
    android:background="@drawable/round_button"
   />

但输出是这样的:

为什么形状正确却没有渐变?

转到 themes.xml 并更改 parent。 parent=Theme.MaterialComponents.NoActionBar.Bridge

<style name="Theme.YourApp" parent="Theme.MaterialComponents.NoActionBar.Bridge">
        //yourcode
    </style>

您代码中的一切都可以,只需将 Button 更改为 androidx.appcompat.widget.AppCompatButton 如下所示,您将能够实现您的目标想要的结果。

<androidx.appcompat.widget.AppCompatButton
  android:id="@+id/button"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentRight="true"
  android:layout_toRightOf="@+id/city"
  android:text="Search"
  android:background="@drawable/round_button"
/>