首页 > 解决方案 > 保持按钮可绘制图像尺寸为原始尺寸

问题描述

我创建了一个在其中使用 Google Books API 的应用程序。

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

在此处输入图像描述

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

在此处输入图像描述

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

我使用的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 并仍然保持图像的质量?

谢谢

标签: androidxmlandroid-drawableandroid-imagebuttongoogle-books

解决方案


当您想将高度硬编码为 时24dp,您还可以将宽度硬编码为一个值,该值保持原始图像大小的纵横比为 (88 x 31)。

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


推荐阅读