22

我最近从 Ionic 4 更新到 Ionic 5。Ionic 5 的图标也收到了更新。然而,显然加载图标的机制也发生了变化。

在 Ionic 4 中,可以添加这样的自定义图标https ://medium.com/@JordanBenge/how-to-create-custom-ionic-4-icons-af80cc6cc148

在assets图标文件夹中添加例如 ios-my-custom-icon.svgmd-my-custom-icon.svg。然后有必要在angular.json中引用它们,例如:

 ...
   "assets": [
          ...
          {
            "glob": "**/*.svg",
            "input": "src/assets/icon",
            "output": "./svg"
          },
          ...
   ]
...

最后可以像 html 中的其他离子图标一样称呼它们:

<ion-icon name="my-custom-icon"></ion-icon>

但是,这不再适用于 ionic 5。有人知道,我们现在如何在 ionic 5 中实现自定义图标?

编辑:我意识到仍然可以通过 src 属性调用它们,例如

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

但是,这不像使用 name 属性那样方便。我们有没有机会与上述等价?

4

5 回答 5

7

您需要md-从图标名称中删除 。

例如,您的图标是md-my-custom-icon.svg

更改为my-custom-icon.svg。之后,自定义图标将在 ionic 5 上再次运行

干杯

更新

我不得不把md-图标名称放在后面,并实际将其添加md-到离子图标标签中,如下所示。这样它使用我的自定义图标而不是默认图标。

<ion-icon name="md-my-custom-icon"></ion-icon>

于 2020-04-03T08:38:12.333 回答
5

如果您愿意,您可以随时使用[]然后提供一个变量:

const myCustomIcon = "/assets/icons/custom.svg";

在标记中:

<ion-icon [src]="myCustomIcon"></ion-icon>
于 2020-02-29T23:44:53.503 回答
1

在 Angular.json 中:

"assets":[
   {
      "glob":"**/*",
      "input":"src/assets",
      "output":"assets"
   },
   {
      "glob":"**/*.svg",
      "input":"node_modules/ionicons/dist/ionicons/svg",
      "output":"./svg"
   },
   {
      "glob":"**/custom-*.svg",
      "input":"src/assets/icon_custom",
      "output":"./svg"
   }
]

现在在 icon_custom(例如)文件夹中使用“custom-...”启动您的自定义 svg 图标。

于 2020-09-24T21:31:40.337 回答
1

对于使用字体真棒类型图标字体的人,您可以只使用class="fa icon". 例如:

<ion-tab-button tab="tab1">
  <ion-icon class="fa icon"></ion-icon>
  <ion-label >Inbox</ion-label>
</ion-tab-button>

或者,如果您使用自己的图标集,您可能会使用以下内容:

<ion-icon class="custom-icon icon-edit"></ion-icon>
于 2020-11-18T03:13:26.167 回答
-3

您可以将 SVG 文件添加到 node_modules/ionicons/dist/ionicons/svg 文件夹

于 2021-01-12T02:43:51.043 回答