我正在尝试将离子应用程序中的菜单图标替换为图像图标。 我有一个menu.html如下:
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="bar-dark nav-title-slide-ios7">
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<header class="bar bar-header bar-dark">
</header>
<ion-content class="has-header">
<ion-list>
<ion-item menu-close ui-sref="app.home">
Home
</ion-item>
<ion-item menu-close ui-sref="app.profile">
Update Profile
</ion-item>
<ion-item menu-close ui-sref="app.project">
Add Project
</ion-item>
<ion-item menu-close ng-click="logout();">
Log Out
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
但我不知道如何用图标图标替换菜单图标。你能帮忙吗
这是home.html:
<ion-nav-buttons side="left">
<button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
</ion-nav-buttons>
<icon-view>
<ion-pane>
<ion-content>
</ion-content>
</ion-pane>
</icon-view>
答案 0 :(得分:4)
对于Ionic 4+,只需将图片图标包裹为
<ion-menu-toggle>
<img src='your-src'>
</ion-menu-toggle>
答案 1 :(得分:1)
在Ionic 4中,只需在模板中使用以下代码
<ion-buttons slot="start"> <ion-menu-button> <img src='../../assets/icon/favicon.png'> </ion-menu-button> </ion-buttons>
答案 2 :(得分:0)
使用button
代码替换navicon
和image
类
<ion-nav-buttons side="left">
<img src="img/myImage.jpg" class="button button-icon button-clear" menu-toggle="left">
</ion-nav-buttons>
<icon-view>
<ion-pane>
<ion-content>
</ion-content>
</ion-pane>
</icon-view>
答案 3 :(得分:0)
您可以在 app.scss 中全局覆盖菜单图标的css,方法是在资源文件夹中添加以下css和菜单图标。
ion-icon[name='menu']:before {
content: url('../assets/icon/menu.png');
}
答案 4 :(得分:0)
您还可以使用以下工具将图像转换为svg文件: image converter
拥有SVG文件后,请按照以下步骤操作:
“资产”:
[
{
"glob": "**/*",
"input": "src/assets",
"output": "assets"
},
{
"glob": "**/*.svg",
"input": "node_modules/@ionic/angular/dist/ionic/svg",
"output": "./svg"
}
]
“资产”:
[
{
"glob": "**/*",
"input": "src/assets",
"output": "assets"
},
{
"glob": "**/*.svg",
"input": "node_modules/@ionic/angular/dist/ionic/svg",
"output": "./svg"
},
{
"glob": "**/*.svg",
"input": "src/assets/custom-ion-icons",
"output": "./svg"
}
]
为每个新图标创建两个文件(一个用于iOS,一个用于android / material-design)。下面将创建一个名为“ newicon”的新图标: src / assets / custom-ion-icons / ios-newicon.svg src /资产/custom-ion-icons/md-newicon.svg svg图像应包含黑色填充的形状。笔划不会总是显示出来,具体取决于上下文。
最后修改您的app.module.ts文件,以设置默认的离子菜单按钮图标,如下所示:
从'@ ionic / angular'导入{IonicModule};
@NgModule({
...
imports: [
BrowserModule,
IonicModule.forRoot({
menuIcon: 'newicon'
}),
AppRoutingModule
],
...
})
在此示例中,我们应该有两个文件ios-newicon.svg和md-newicon.svg
希望这会有所帮助。
参考:
答案 5 :(得分:0)
从Ionic 5开始,您可以像这样在ion-icon
内添加任何其他ion-menu-button
:
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-menu-button>
<ion-icon color="success" name="close"></ion-icon> // <--- here
</ion-menu-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
以同样的方式,您还可以使用自定义SVG图标:
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-menu-button>
<ion-icon
color="success"
src="assets/my-icons/custom-menu.svg" // <--- like this
></ion-icon>
</ion-menu-button>
</ion-buttons>
</ion-toolbar>
</ion-header>