Eu instalei o material para angular,
Eu importei em meu módulo de aplicativo MatIconModule (com import { MatIconModule } from '@angular/material/icon';
)
Eu adicionei em minhas importações ngmodule com:
@NgModule({
imports: [
//...
MatIconModule,
//...
Eu importei todas as folhas de estilo
E também importei no meu componente de aplicativo que está realmente (tentando) usando-os (com outra import {MatIconModule} from '@angular/material/icon';
linha no início).
Mas os ícones de materiais ainda não aparecem.
Por exemplo, com esta linha:
<button mat-icon-button (click)="snav.toggle()"><mat-icon>menu</mat-icon></button>
Estou esperando algo assim:
Mas eu entendo:
Tem alguma sugestão?
Respostas:
Adicionar folha de estilo CSS para ícones de materiais!
Adicione o seguinte ao seu index.html:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Consulte - https://github.com/angular/material2/issues/7948
fonte
@import 'https://fonts.googleapis.com/icon?family=Material+Icons';
@import "~material-icons/iconfont/material-icons.css";
a seu styles.cssPara Angular 6+:
npm install material-design-icons
adicione os estilos a angular.json:
fonte
Se estiver usando SASS, você só precisa adicionar esta linha ao seu
.scss
arquivo principal :Se você preferir evitar obter ícones do Google, também pode hospedar os ícones automaticamente, conforme descrito no Guia de ícones de materiais :
fonte
No meu caso, houve um estilo aplicado que substitui a família da fonte. Então, adicionei um estilo de família de fontes explicitamente como este:
fonte
Você deve importar MatIconModule e usar o seguinte url em index.html
fonte
A solução completa pode ser:
Passo um
Você tem que importar
MatIconModule
no seu projeto, no meu projeto eu importo o componente necessário em um arquivo separado e depois o importo no AppModule, você pode usar isso ou importá-los diretamente:Passo dois
Carregue a fonte do ícone em seu
index.html
:fonte
No meu caso, o nome do ícone que escrevi não estava associado a nenhum ícone.
Você pode verificar os nomes corretos aqui: https://material.io/tools/icons/?style=baseline
fonte
No meu caso, os ícones não apareceram porque baguncei minhas fontes usando! Important. Tirar isso fez com que os ícones aparecessem.
fonte
Corri para o problema de ícones que não são exibidos para mim. Eu tinha seguido os passos fornecidos por Basavaraj Bhusani, mas ainda não estava funcionando.
Eu descobri que o problema era que no meu scss, eu tinha o
text-transform: uppercase
que estava fazendo com que o ícone apenas exibisse o conteúdo 'arrow_forward'. Tive que mudar otext-transform: none
ícone especificamente, caso contrário ele não seria renderizado.fonte
Percebi que ninguém falou sobre instalar o hammerJs antes de importá-lo para o seu aplicativo. Bem, para pessoas que têm um problema semelhante, você precisa importar o hammerJs primeiro, você pode usar o NPM, Yarn ou google CDN para a instalação. Esta resposta é para instalação com NPM ou Yarn:
NPM
Fio
Após a instalação, importe-o no ponto de entrada do seu aplicativo (por exemplo, src / main.ts).
Se você preferir usar o Google CDN, visite o material Angular para obter mais explicações https://material.angular.io/guide/getting-started
fonte
Nome do ícone errado : o nome de algum ícone de material está errado.
Por exemplo : Material Icon fornece filter_alt para
mas aparece 😟
Correção: temos que usar filter_list_alt para o ícone do tipo de funil como
fonte
Se você substituiu algum estilo existente de material angular ou qualquer outro estilo que de alguma forma afete o ícone, isso pode causar um problema. Mova o código do ícone fora de qualquer estilo e teste.
Para mim, era a variante da fonte: versalete;
Então, acabei de movê-lo para o elemento filho. Abaixo está parte da grade de Material Angular.
fonte
Basta adicionar o seguinte ao seu index.html:
fonte
fonte