Android上不同分辨率的图标大小不同

Android上不同分辨率的图标大小不同,android,icons,screen,resolution,Android,Icons,Screen,Resolution,我正在为Samgsung Galaxy标签(1024x600px)开发一个应用程序。在一个活动中,我使用了一些128x128px的图标,看起来很棒 但我在Samgsung Galaxy S(480x800)上运行它,图标太大了 我在drawable mdpi中的100x100px处放置了相同的图标,但现在它调整了两个设备的大小。我想这是因为Tab和星系S的密度范围相同 如何根据屏幕大小自动使用不同的图标? 我看到布局很大,布局xlarge是根据屏幕大小,但是布局,而不是图标 非常感谢 您也可以使

我正在为Samgsung Galaxy标签(1024x600px)开发一个应用程序。在一个活动中,我使用了一些128x128px的图标,看起来很棒

但我在Samgsung Galaxy S(480x800)上运行它,图标太大了

我在drawable mdpi中的100x100px处放置了相同的图标,但现在它调整了两个设备的大小。我想这是因为Tab和星系S的密度范围相同

如何根据屏幕大小自动使用不同的图标? 我看到布局很大,布局xlarge是根据屏幕大小,但是布局,而不是图标


非常感谢

您也可以使用drawable:

现在有了比android studio中的assert generator更好的工具

对于应用程序图标(工具栏、操作栏、DrawableLeft等),请使用:

对于启动器(应用程序图标),请使用:

但是这里有一些技巧和方法来获得更好的图标和启动器图标的分辨率

第1步:

首先转到并选择您的图标。或者,如果您的图标分辨率良好,则跳过此步骤。单击所需的图标并单击“高级导出”,它将打开如下窗口

然后单击“图标”生成图标(.png)。好吧,诀窍是尽量为高分辨率设备生成尽可能大的图标,这些工具将处理所有小设备的图标,但如果您使用小图标,同时为高端设备生成图标,您将失去图标分辨率

第二步:

然后进入工具页面并上传图标

如果要为图标上色,请单击“自定义”。无论你上传的是什么颜色的图标,通过使用自定义你可以生成任何你想要的颜色。
然后选择一个名称并单击“Download.ZIP”。这将下载带有大多数常用分辨率图标的.zip文件。您可以将res文件夹复制并粘贴到应用程序项目文件夹中,您将在可绘制部分看到该图标。

您可以使用屏幕的宽度

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels /4;

我已经阅读了这些文档,但我不理解你的意思。我没有任何可绘制的大,可绘制的xlarge…,我认为图标是根据密度和布局的分辨率。但这两种设备的密度范围相同……标签上的可绘制mdpi中有小图标,手机上的可绘制hdpi中有大图标?它们的密度范围不是170dpi和233。我在可绘制hdpi中有一个100x100px图标,在可绘制mdpi中有一个128x128px图标。我运行应用程序,在选项卡和Galaxy S上,它使用小图标!看看smallestWidth标签(“sw”),这一个非常有用