ios 和 android 的自定义图标

Custom icon with ios and android

我有 ios 和 android 的自定义图标,名称为 "md-usb.svg" 和 "ios-usb.svg"。

我已经将android图标复制到文件夹

android\app\src\main\assets\public\svg

对于标准图标 md-bluetooth.svg 我找到了 7 个目录。 ios 哪个正确,android 哪个正确?

在html我用

<ion-icon *ngIf="item.active" md="md-usb"> slot="start"></ion-icon>

我在文档中发现我们应该使用资产文件夹,但是这个文件夹在项目下也存在多次。

我发现了这个:

https://golb.hplar.ch/2018/01/Custom-SVG-icons-in-Ionic.html

下面这个link对自定义图标的集成有很好的解释。 还有提到ionic3和ionic4的区别

资产文件夹

您要查找的文件夹不是隐藏在项目深处的文件夹。

从您编写所有代码的 app 文件夹,向上移动一个文件夹,它就在那里 src\assets

在我的项目中它在 appenvironments 之间。

你的方法

看来您要做的是替换 ion-icon 默认使用的实际 svg 文件。

这不是做事的方法。

如果您尝试这样做,那么下次发布新的 ion-icons 版本时它将被重置。

您应该像 \src\assets\icon.svg 一样将资产放在本地文件夹中,然后像这样使用它:

<ion-icon src="assets/icon.svg"></ion-icon>

多平台自定义图标

这似乎还有一个额外的问题,即自定义文件支持似乎没有平台支持。

所以如果你想为每个平台使用不同的图标,它会变得更加复杂。

从广义上讲,我认为这需要将变量绑定到 src,例如 [src]="iconPath",然后通过使用 platform.

检测平台来设置自定义 url

更新 - 是的,我刚刚检查了代码。如果设置了 src 属性 那么它只会使用它并忽略 mode 所以你必须在离子图标之外为平台设置正确的图标。