如何使用Android Studio用所有屏幕尺寸的图像替换可绘制图像?

时间:2019-01-18 09:05:22

标签: android android-studio android-drawable

在我的代码中,我有许多应用程序中使用的图标。现在,我想更改所有具有其大小的图标,例如hdpi,xhdpi等。

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

4 个答案:

答案 0 :(得分:1)

使用相同的图标名称,您有两个选择:

  1. 可绘制矢量:如果您具有SVG图像格式,则可以在可绘制文件夹中直接创建可绘制矢量,它可以帮助您使用单个文件和多个屏幕尺寸的图标。

OR

  1. 您可以使用图标生成器工具进行操作,从而拖放单个尺寸的图像即可获得具有多个尺寸的相同图像,然后只需将其替换为“在资源管理器中显示”选项即可。

答案 1 :(得分:1)

您可以使用此库使事情变得更容易,以便您在不同的屏幕尺寸下操作可绘制对象。
这是 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" />

OR

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

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

在视图中,您需要执行以下操作:

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

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

答案 2 :(得分:1)

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

转到File -> New -> Image Asset。它将打开如下所示的窗口。

enter image description here

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

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

答案 3 :(得分:0)

使用此在线工具。您以良好的分辨率上载了图标,该工具会导出所有必需的文件大小。

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