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
在我的项目中它在 app
和 environments
之间。
你的方法
看来您要做的是替换 ion-icon
默认使用的实际 svg 文件。
这不是做事的方法。
如果您尝试这样做,那么下次发布新的 ion-icons 版本时它将被重置。
您应该像 \src\assets\icon.svg
一样将资产放在本地文件夹中,然后像这样使用它:
<ion-icon src="assets/icon.svg"></ion-icon>
多平台自定义图标
这似乎还有一个额外的问题,即自定义文件支持似乎没有平台支持。
所以如果你想为每个平台使用不同的图标,它会变得更加复杂。
从广义上讲,我认为这需要将变量绑定到 src,例如 [src]="iconPath"
,然后通过使用 platform
.
检测平台来设置自定义 url
更新 - 是的,我刚刚检查了代码。如果设置了 src
属性 那么它只会使用它并忽略 mode
所以你必须在离子图标之外为平台设置正确的图标。
我有 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
在我的项目中它在 app
和 environments
之间。
你的方法
看来您要做的是替换 ion-icon
默认使用的实际 svg 文件。
这不是做事的方法。
如果您尝试这样做,那么下次发布新的 ion-icons 版本时它将被重置。
您应该像 \src\assets\icon.svg
一样将资产放在本地文件夹中,然后像这样使用它:
<ion-icon src="assets/icon.svg"></ion-icon>
多平台自定义图标
这似乎还有一个额外的问题,即自定义文件支持似乎没有平台支持。
所以如果你想为每个平台使用不同的图标,它会变得更加复杂。
从广义上讲,我认为这需要将变量绑定到 src,例如 [src]="iconPath"
,然后通过使用 platform
.
更新 - 是的,我刚刚检查了代码。如果设置了 src
属性 那么它只会使用它并忽略 mode
所以你必须在离子图标之外为平台设置正确的图标。