Javascript 爱奥尼亚安卓图标与原始尺寸/比例不同

Javascript 爱奥尼亚安卓图标与原始尺寸/比例不同,javascript,android,cordova,ionic-framework,ionic,Javascript,Android,Cordova,Ionic Framework,Ionic,我在resources/下创建了一个简单的1024x1024 icon.png: 然后我运行爱奥尼亚资源,我需要的所有图标都在resources/android/icon/ My config.xml已更改为: <platform name="android"> <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/> <icon src="resource

我在
resources/
下创建了一个简单的1024x1024 icon.png:

然后我运行爱奥尼亚资源,我需要的所有图标都在
resources/android/icon/

My config.xml已更改为:

<platform name="android">
    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
  </platform>
  <icon src="resources/android/icon/drawable-xhdpi-icon.png"/>

现在,如果我查看应用程序图标,一旦安装它看起来像中间的图形更大,比例不被尊重:

正如你所看到的,红色小球变成了一个巨大的小球,这是我不明白的,有人能给我澄清一下吗?

(还不能发表评论,所以我会回答)

从外观上看,你使用的是某种iconpack。(因为所有图标都具有与顶部原始图标相同的形状背景)。我的猜测是,图标包消除了图标(和所有其他图标)周围的大部分透明空间,以适应相同的图标设计

您可以通过以下两种方式轻松发现情况是否确实如此:

  • 禁用iconpack(红色圆圈现在应该是正常大小,周围有空格)

  • 制作一个在图标两侧有边框的图标,这样可能不会切断空白

如果确实是iconpack消除了周围的空白,您可以尝试使用一个非常轻(99%透明)的层作为背景。这将阻止iconpack消除空白,因此它不会缩放圆


不过,我并不推荐这样做,因为大多数人不会使用图标包,这样图标在其他设备上可能会显得有点奇怪。

我认为这是因为
离子资源
命令。它将读取图像并根据每个屏幕大小自动裁剪图像

表示
无圆角
可能是用于主图片外的不透明像素,或者它将调整/裁剪它以适合:

图标图像的最小尺寸应为192x192 px,并且不应有圆角

您可以尝试以下方法:

  • 导航到
    project\resources\android\icon
    • 检查中的每个图标是否以错误的比率生成
    • 如果它比您的原始图像大,请打开任何图片编辑器,如
      Photoshop
      Paint
      ,手动调整其大小,直到符合您的预期比例(因为您只需要
      ionic resources
      生成预大小的图片)
    • 保存并为其他人再次执行
    • 重建项目
更新:在4个角放置4个微小的颜色像素,然后重试。我认为设备应该知道图标的正确边框在哪里,而不是调整它的大小。

您好,谢谢您,但您所说的图标包是什么意思@G.deWiti使用1024x1024.png,然后运行
ionic resources
,创建所有图标并填充config.xml,我还应该做什么?对不起,我现在不明白…图标包通常用于统一不同图标的外观。在安卓系统中,图标的外观没有真正的限制(只有指导原则)。这通常会导致一点混乱的外观。使图标看起来或多或少与创建的图标包相同。所以在你的情况下,很可能安卓手机上的图标包会稍微改变图标,以使它们大致相同。那么爱奥尼亚预设包是不正确的?我尝试使用99%不透明度的背景,但红色圆圈看起来与屏幕截图相同:(我不认为这是一个标志性问题。手机上可能安装了图标包。您使用的是哪款手机,您是否碰巧有另一款手机来测试您的图标?已尝试过的手机不起作用,看起来该设备删除了trasparent侧边,并调整了图形大小,使其与100%宽度的图标相匹配:(很遗憾,但我为您提供了一个选项:使用我的步骤重试,但您应该从4个角(左上角、右上角、左下角、右下角)放置4个小像素的颜色)在边框处。这可能会让设备知道您图标的边框在哪里。@sbaaang您试过了吗?实际上这是个问题,因为要使用此技巧以及一些不透明度背景,我必须使用至少20%的不透明度,这是s**t:,因为您将在设备图标上使用它:/我真的认为没有解决方案