保持按钮可绘制图像尺寸为原始尺寸

keep button drawable image dimensions as original

我创建了一个应用程序,我在其中使用 Google 图书 API。

作为他们要求的属性的一部分,我需要在每个查询结果中添加以下 button:

现在,我想将该图像用作按钮的背景,但我得到了以下结果:

如您所见,它似乎被拉伸了,质量很差。

我用的xml是:

<ImageButton
    android:id="@+id/tv_Link"
    android:layout_width="wrap_content"
    android:layout_height="24dp"
    android:layout_alignStart="@+id/imagecard"
    android:layout_alignEnd="@+id/imagecard"
    android:layout_alignBottom="@+id/imagecard"
    android:background="@drawable/gbs_preview_button"
    android:elevation="50dp"
    android:fontFamily="@font/assistant_semibold"
    android:gravity="center"
    android:textColor="@color/colorLightPurple"
    android:textSize="8sp" />

为了修复它,我决定使用位图:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:gravity="center"
    android:src="@drawable/gbs_preview_button"
    android:tileMode="disabled"/>

问题是变小了成这样(质量好,就是小):

此尺寸太小,因为它们要求高度为 24dp。

有什么方法可以将此图像添加到按钮,使其高度为 24dp 并仍然保持图像质量?

谢谢

由于您希望将高度硬编码为 24dp,因此您也可以将宽度硬编码为一个值,以保持原始图像尺寸的纵横比为 (88 x 31)。

因此,将宽度设置为 68dp 而不是 wrap_content