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

问题描述 投票:0回答:4

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

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

android android-studio android-drawable
4个回答
1
投票

您可以使用此库使您更容易操作不同屏幕尺寸的drawable。 这是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);

您可以获取屏幕大小并自行管理。


1
投票

通过相同的图标名称,您有两个选择:

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

要么

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

1
投票

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

File -> New -> Image Asset。它会打开一个如下所示的窗口。

enter image description here

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.