按钮背景变为蓝色(与原始颜色不同)

Buttons background turns to blue color (not same as original)

我的问题看起来很简单,但我不知道如何解决。 我有几个按钮,所有按钮都有背景图片。问题是,所有图片都变成了蓝色

看起来像这样:

原图:

这是我的 xml 代码的一部分:

<Button
  android:id="@+id/memory_button1"
  android:layout_weight="1"
  android:maxWidth="30dp"
  android:maxHeight="30dp"
  android:onClick="@{()->viewModel.showTile(1)}"
  android:background="@{viewModel.button001}">
</Button>

图标url: https://www.flaticon.com/packs/restaurant-225

如果你想在你的按钮中有唯一的图像。您可以将其替换为 ImageView,以便您可以完全控制图像的绘制方式。

<ImageView
       android:id="@+id/memory_button1"
       android:layout_weight="1"
       android:maxWidth="30dp"
       android:maxHeight="30dp"
       android:onClick="@{()->viewModel.showTile(1)}"
       android:src="@{viewModel.button001}">
</ImageView>

您将为 ImageView 选择缩放类型,这样您就可以在不拉伸图像的情况下渲染图像。

ImageView 用作具有波纹点击效果的按钮的更好方法是

  <ImageView
       android:id="@+id/memory_button1"
       android:layout_weight="1"
       android:maxWidth="30dp"
       android:maxHeight="30dp"
       android:background="?selectableItemBackground"
       android:clickable="true"
       android:focusable="true"
       android:onClick="@{()->viewModel.showTile(1)}"
       android:src="@{viewModel.button001}"/>

你甚至可以将它包裹在 CardView