【问题标题】:ionic android icon not same original size/ratioionic android图标与原始大小/比例不同
【发布时间】:2015-10-22 08:51:00
【问题描述】:

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

然后我运行离子资源,我需要的所有图标都在resources/android/icon/下生成

我的 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"/>

现在,如果我在安装后查看应用程序图标,它看起来中间的数字更大并且比例不被尊重:

如你所见,小红球变成了一个大球,这是我不明白的,谁能解释一下?

【问题讨论】:

    标签: javascript android cordova ionic-framework ionic


    【解决方案1】:

    (还不能放置cmets,所以我会通过回答来完成)

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

    您可以通过以下任一方式轻松确定是否确实如此:

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

    • 制作一个在图标两侧有边框的图标,因此它可能不会切断空白。

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

    不过我不会真的推荐这个,因为大多数人不会使用图标包,然后图标在其他设备上可能看起来有点奇怪。

    【讨论】:

    • 您好,谢谢,但您所说的图标包是什么意思? @G.deWit
    • 我使用 1024x1024 .png 然后运行 ​​ionic resources 并创建所有图标并填充 config.xml,我还能做什么?对不起,我现在不明白...
    • 图标包通常用于统一不同图标的外观。在 Android 中,图标的外观并没有真正的限制(只有指南)。这通常会导致看起来有点混乱。为了使图标看起来或多或少与创建的图标包相同。因此,在您的情况下,该 Android 手机上的图标包很可能会稍微更改图标,以使它们或多或少相同。
    • 所以离子预设包不正确?我尝试使用不透明度为 99% 的背景,但红色圆圈看起来与屏幕截图相同 :(
    • 我不认为这是一个标志性的问题。图标包可能已安装在手机上。您使用的是什么手机,您是否碰巧有另一部手机可以测试您的图标?
    【解决方案2】:

    我认为这是因为ionic resources 命令。它将读取图像并根据每个屏幕尺寸自动裁剪图像。

    Ionic Resource Siteno rounded corners 可能是主图外的不透明像素,或者它会调整大小/裁剪以适应:

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

    你可以试试这个:

    • 导航到project\resources\android\icon
      • 检查生成的每个图标是否比例错误。
      • 如果它比你的原始图像大,打开任何图片编辑器,如PhotoshopPaint 并手动调整它的大小,直到适合你的预期比例(因为你应该只需要ionic resources 生成预大小的图片)。
      • 保存并为其他人再次执行此操作。
      • 重建项目。

    更新: 为 4 个角放置 4 个微小像素的颜色,然后重试。我认为设备应该知道图标的正确边框在哪里,而不是调整它的大小。

    【讨论】:

    • 已经尝试过不起作用,看起来设备会移除透明边并调整图形大小以适应 100% 宽度的图标 :(
    • 很伤心,但我有这个选项给你:用我的步骤再试一次,但你应该从 4 个角(左上角,右上角,左下角, bot-right)在边境。这可能会让设备知道您图标的边框在哪里。
    • @sbaaaang 你试过了吗?
    • 实际上这是一个问题,因为要使用这个技巧以及一些不透明背景,我必须使用至少 20% 的不透明度,这是 s**t :/ 因为你会在设备上设置它图标:/我真的猜没有解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多