如何使用 android studio 将可绘制图像替换为所有屏幕尺寸的图像?

How to replace drawable image with all screen size image using android studio?

在我的代码中,我有很多在应用程序中使用的图标。现在我想更改所有图标及其所有尺寸,如 hdpi、xhdpi 等。

如何快捷更改所有图标大小?请建议我。

使用这个在线工具。您以良好的分辨率上传图标,该工具会导出所有必要的文件大小。

https://romannurik.github.io/AndroidAssetStudio/

对于相同的图标名称,您有两个选择:

  1. 矢量可绘制对象:如果您有 SVG 图像格式,那么您可以直接在可绘制对象文件夹中创建矢量可绘制对象,这可以帮助您处理单个文件和多个屏幕尺寸的图标。

  1. 您可以使用图标生成器工具,从而拖放单个尺寸的图像,您可以获得多个尺寸的相同图像,然后只需将其替换为 "show in explorer" 选项

您可以使用此库让您更轻松地操作不同屏幕尺寸的可绘制对象。
这里是Library

您可以将高度和宽度放在 SDP 中,它会为所有屏幕自行管理

比如这样

<ImageView
    android:id="@+id/ivImage"
    android:layout_width="@dimen/_9sdp"
    android:layout_height="@dimen/_18sdp"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:src="@drawable/icon" />

使用此代码您可以获得运行时显示的宽度和高度

DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;

在一个视图中你需要做这样的事情:

((Activity) getContext()).getWindowManager()
                         .getDefaultDisplay()
                         .getMetrics(displayMetrics);

您可以获得屏幕尺寸并自行管理。

如果您想将现有图标图像转换为不同 dpi 图像,您可以使用以下方法。

前往 File -> New -> Image Asset。它将打开如下所示的 window。

  1. 图标类型下拉列表中selectAction bar and tab icons
  2. 资产类型selectImage单选按钮中。
  3. 在 Path 中提供有效的具有透明背景的 png 图像的路径。
  4. 填写其他适合您的选项。

单击“下一步”后,它将显示另一个预览 window,Select 完成,您的资源将导入到不同的可绘制文件夹中。