He instalado Material para angular,
He importado en mi módulo de aplicación MatIconModule (con import { MatIconModule } from '@angular/material/icon';
)
Lo agregué debajo de mis importaciones de ngmodule con:
@NgModule({
imports: [
//...
MatIconModule,
//...
He importado todas las hojas de estilo
Y también lo importé en el componente de mi aplicación que en realidad (intenta) usarlos (con otra import {MatIconModule} from '@angular/material/icon';
línea al principio).
Pero los iconos de materiales aún no aparecen.
Por ejemplo, con esta línea:
<button mat-icon-button (click)="snav.toggle()"><mat-icon>menu</mat-icon></button>
Espero algo como esto:
Pero entiendo esto:
¿Tienes alguna sugerencia?
Respuestas:
¡Agregue una hoja de estilo CSS para iconos de materiales!
Agregue lo siguiente a su index.html:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Consulte - https://github.com/angular/material2/issues/7948
fuente
@import 'https://fonts.googleapis.com/icon?family=Material+Icons';
@import "~material-icons/iconfont/material-icons.css";
to your styles.cssPara Angular 6+:
npm install material-design-icons
agregue los estilos a angular.json:
fuente
Si usa SASS, solo necesita agregar esta línea a su
.scss
archivo principal :Si prefiere evitar obtener íconos de Google, también puede autohospedar los íconos como se describe en la Guía de íconos de materiales :
fuente
Debe importar MatIconModule y usar la siguiente URL en index.html
fuente
En mi caso, se aplicó un estilo que anula la familia de fuentes. Entonces, agregué un estilo de familia de fuentes explícitamente así:
fuente
La solución completa puede ser:
Paso uno
Tienes que importar
MatIconModule
en tu proyecto, en mi proyecto importo el componente necesario en un archivo separado y luego lo importo en el AppModule, puedes usar esto o importarlos directamente:Segundo paso
Cargue la fuente del icono en su
index.html
:fuente
En mi caso, el nombre del icono que escribí no estaba asociado a ningún icono.
Puede comprobar los nombres correctos aquí: https://material.io/tools/icons/?style=baseline
fuente
En mi caso, los iconos no aparecieron porque arruiné mis fuentes al usar! Important. Sacar eso hizo que aparecieran los iconos.
fuente
Me encontré con el problema de que los iconos no se mostraban. Seguí los pasos proporcionados por Basavaraj Bhusani, sin embargo, todavía no funcionaba.
Encontré que el problema era que en mi scss, tenía el
text-transform: uppercase
que estaba causando que el ícono solo mostrara el contenido 'arrow_forward'. Tuve que cambiar eltext-transform: none
ícono específicamente, de lo contrario, no se renderizaría.fuente
Me di cuenta de que nadie habló sobre la instalación de hammerJs al principio antes de importarlo a su aplicación. Bueno, para las personas que tienen un problema similar, primero debe importar hammerJs, puede usar NPM, Yarn o Google CDN para la instalación. Esta respuesta es para la instalación con NPM o Yarn:
NPM
Hilo
Después de la instalación, impórtelo en el punto de entrada de su aplicación (por ejemplo, src / main.ts).
Si prefiere utilizar Google CDN, visite el material de Angular para obtener más explicaciones https://material.angular.io/guide/getting-started
fuente
Nombre de icono incorrecto : el nombre de algún icono de material es incorrecto.
Por ejemplo : Material Icon proporciona filter_alt para
pero aparece 😟
Solución: tenemos que usar filter_list_alt para el icono de tipo de embudo como
fuente
Si ha sobrescrito algún estilo de material angular existente o cualquier otro estilo que de alguna manera afecte al icono, puede causar un problema. Mueva el código del icono fuera de cualquier estilo y pruebe.
Para mí fue una variante de fuente: minúsculas;
Así que lo moví al elemento hijo. A continuación se muestra parte de la cuadrícula de material angular.
fuente
Simplemente agregue lo siguiente a su index.html:
fuente
fuente