Como usar ícones personalizados em material angular
Publicados: 2023-02-16Se você deseja usar ícones personalizados no Angular Material, há algumas etapas que você precisará seguir. Primeiro, você precisará criar seu próprio conjunto de ícones. O Angular Material vem com um conjunto integrado de ícones, mas você também pode criar o seu próprio. Depois de ter seus ícones, você precisará registrá-los no Angular Material. Isso pode ser feito no arquivo de módulo do seu aplicativo. Depois que seus ícones estiverem registrados, você poderá usá-los como os ícones integrados. Você pode usá-los em sua marcação ou acessá-los programaticamente. Isso é tudo para usar ícones personalizados no Angular Material! Seguindo essas etapas, você pode adicionar facilmente seus próprios ícones ao Angular Material para usar em seus aplicativos.
Neste tutorial, usaremos o componente >mat-icon> para criar a fonte Material Icons. O componente será usado além de oferecer suporte a um ícone sva personalizado. No GitHub, você pode encontrar o código de trabalho completo. Este post é para aqueles que estão apenas aprendendo Angular v4.2+. O material Angular para este tutorial foi originalmente escrito em Angular 5.2 e Angular 10.1. O ícone que usaremos neste tutorial (que se assemelha a um rosto com um sorriso) é o ícone de humor. Além de uma lista abrangente de ícones do Material Design, o site do Material Design oferece uma variedade de estilos de ícones que podem ser usados individualmente.
Agora podemos usar o ícone do mouse para exibir SVGs. Ao inserir um rótulo na propriedade de entrada de um arquivo.html, você pode usar o rótulo do ícone para especificar qual ícone é acessado. O URL deve ser https://app.html. Vamos dar uma olhada no que está disponível atualmente. Ao examinar o aplicativo em seu navegador, você notará que o ícone personalizado é estilizado em Material. Mover o MatIconRegistry para uma classe de serviço ajudará a manter um código mais limpo.
Como faço para usar ícones SVG em Angular 12?
Para usar ícones SVG no Angular 12, você precisará instalar os pacotes @angular/material e @angular/material-extensions. Você pode usar o serviço matIconRegistry para registrar os ícones e adicioná-los aos seus componentes.
Você pode gerenciar o código em Angular2 usando seu arquivo Icon.svg como seu saparate. Além disso, o módulo ng-inline-svg (ou, se possível, outras abordagens semelhantes) pode ser usado para fazer isso. Como resultado, é essencialmente algo intermediário – você terá arquivos separados para cada tipo de imagem, com as imagens sendo alinhadas quando a página carregar para que você possa manipulá-las usando JS/CSS.
Usar aria-descriptoby como parte de seu SVG permitirá que usuários com deficiência tenham uma experiência melhor ao usar seu site. Como resultado, ao descrever seus ícones com ária-descripto por, você poderá garantir que os usuários com deficiências possam entender o que eles representam.
O Debate De PNG Vs. Ícones SVG
Por outro lado, um canal alfa também pode ser adicionado a um arquivo SVG. Em outras palavras, como podem ser incluídos em áreas transparentes, mantendo um pouco de cor, os ícones SVG são mais versáteis do que os ícones PNG . A escolha de qual arquivo usar para seus ícones se resume ao seu projeto específico e suas necessidades.
Como faço para usar ícones SVG personalizados em Html?
Para usar ícones SVG personalizados em HTML, você precisa incluir o caminho do arquivo do ícone no atributo href do elemento do ícone. O caminho do arquivo deve ser relativo ao diretório raiz da página. Por exemplo, se o ícone estiver em uma pasta chamada “icons” no diretório raiz, o caminho do arquivo seria “icons/icon.svg”.
Desde a introdução de ferramentas on-line como Icomoon e Fontello, as fontes da Web tornaram-se muito mais fáceis de criar. Com o HTML5, temos acesso a uma gama muito maior de ícones, graças ao Scalable Vector Graphics. Se você deseja fornecer suporte técnico para o Explorer 8, existem algumas opções simples de fallback. O identificador de um fragmento é uma propriedade SVG integrada. Podemos fazer referência a um fragmento se quisermos usar uma especificação de visualização SVG ou endereçar um array. Este elemento é um elemento SVG com base em seu ID >view>. Para mostrar apenas o cavalo preto deste sprite de peça de xadrez (do Wikipedia Commons), você deve detectar valores exatamente como faria no esquema abaixo.
Usando a tag img para definir a imagem, a técnica funciona bem com Firefox, Chrome, Safari (desktop) e Opera. Como alternativa, você pode usar um arquivo SVG externo para criar sprites CSS, conforme mostrado na imagem abaixo. Esta é uma técnica de fabricação confiável e pronta para uso. Testei em vários dos principais navegadores (incluindo o IE8) e funcionou perfeitamente. Os ícones aparecem na tela como a tag. Mais uma vez, Icomoon pode ser usado para criar a coleção de tags de símbolo manualmente, ou você pode usar algum plugin Grunt (google para Grunt SVG merge) para fazer isso. Com exceção do IE9, esse método pode ser usado com todos os principais navegadores. Até mesmo a solução de Jonathan Neal, SVG4everybody, pode ser usada para resolver esse problema.
A menos que o código-fonte especifique o atributo de largura desejado, uma imagem sva não é exibida no navegador Chrome. Se o SVG não tiver esse atributo, o navegador aumentará ou diminuirá a imagem.
Como usar imagens SVG em sua página da Web
Você pode inserir imagens SVG diretamente no HTML usando a tag svg> /svg>. A imagem SVG pode ser acessada no código VS ou em seu IDE preferido, copiando o código e colando-o dentro do elemento body do seu documento HTML. Se tudo corresse bem, sua página da Web seria exatamente como a mostrada aqui.
Os ícones podem ser criados com imagens SVG simplesmente digitando seu nome em um navegador da web. O HTML pode ser incorporado a eles e versões em cache deles podem ser instaladas. A evidência também é promissora para o futuro. Os ícones devem ser criados com PNGs ou Scalable Graphic Interfaces (SVGs).
Lista de Ícones Svg de Material Angular
A biblioteca Angular Material fornece um conjunto de componentes de interface do usuário reutilizáveis, bem testados e acessíveis com base na especificação Material Design do Google. Um dos recursos da biblioteca é a capacidade de usar ícones SVG como ícones de materiais. O conjunto de ícones Angular Material inclui uma ampla variedade de ícones, incluindo ícones de mídia social, ícones de tipo de arquivo e setas. Você pode navegar pela lista completa de ícones do Angular Material no site de ícones do Material.
Os ícones podem ser exibidos usando o componente Mat-Icon do Angular Material. A principal característica deste componente é a capacidade de exibir imagens usando fontes da web, como Font-awesome, que simplesmente requer o nome da imagem que você precisa. O que acontece com os ícones que não pertencem às fontes da web? No ícone, você gostaria de fazer alterações (por exemplo, a cor ao passar o mouse ou o status do botão em um local específico) em tempo de execução? O seguinte erro aparece depois que você abre a seção do console do navegador. Ao usar o contexto de URL do recurso, o valor unsafe é usado. Definir o URL como um parâmetro é usado para ignorarSecurityTrustResourceUrl, o que impede que um invasor injete um URL malicioso como este, consulte a documentação oficial do DomSanitizer.
Veremos um método melhor mais tarde, mas agora, simplesmente os colocaremos na página app.html. Adicione uma classe na tag HTML do ícone mat conforme descrito acima. Quando um usuário passa o mouse sobre o ícone, a cor da imagem muda como resultado do SCSS. Os ícones agora devem mudar de cor ao passar o mouse sobre eles. Como parte de uma postagem futura, procuraremos melhorar isso e refatorar para permitir que os ícones sejam carregados usando um serviço.
Como usar ícones de materiais angulares
Onde posso encontrar ícones de materiais angulares?
A única coisa que você precisa fazer é usar as seguintes fontes CSS do Google em seu código HTML. Os ícones de materiais podem ser encontrados em um único arquivo (42 KB) e variam em tamanho de grande a pequeno. Os ícones são divididos em dez categorias diferentes que você pode ver no repositório Git. Os ícones também podem ser hospedados em seu próprio servidor.
Quais são alguns dos bons sites para ver ícones materiais?
Compilamos os ícones do Material em um repositório Git, que inclui todos os formatos em que estamos disponibilizando.
Qual é a melhor maneira de personalizar meu ícone?
O elemento class deve ser adicionado à tag HTML mat-icon, conforme mostrado acima. Adicionar o SCSS à classe altera a cor do ícone sempre que um usuário passa o mouse sobre ele. Ao passar o mouse sobre os ícones, eles agora devem mudar de cor.
Como usar ícones de materiais angulares
Os ícones do Angular Material são SVGs que podem ser usados em seu aplicativo Angular. Para usar um ícone, basta adicionar a classe de ícone a um elemento. Por exemplo, para usar o ícone de círculo de conta, você adicionaria a classe mat-icon-account-circle a um elemento.
Temos bibliotecas de materiais em angular que podem ser usadas para projetar rapidamente nosso aplicativo e ter as tags in build atribuídas a ele. A biblioteca de materiais contém um ícone mat, que é necessário para exibir ícones para nós. Nas seções a seguir, aprenderemos como instalar as bibliotecas necessárias e como implementá-las para exibir ícones em nosso aplicativo. Nosso primeiro serviço é o MatIconRegistry, que é um registro que nos permite identificar e definir aliases para ícones usando um serviço injetável. O ícone é muito simples de usar, mas requer que esta diretiva seja importada para o projeto ou módulo raiz onde pretendemos exibi-la. Inicie o comando mencionado acima em seu prompt de comando para criar um novo projeto angular. Tente um dos comandos listados abaixo para garantir que todas as bibliotecas necessárias estejam instaladas em nosso projeto. Isso é especialmente verdadeiro para desenvolvedores, que podem usar a biblioteca e o módulo diretamente em nosso aplicativo sem ter que lidar com as etapas de adição da biblioteca e do módulo ao módulo raiz.
Mat-icon SVG
Um mat- icon svg é um gráfico vetorial simples que pode ser usado para representar um ícone ou logotipo. O gráfico pode ser redimensionado sem perder qualidade, podendo ser facilmente editado ou alterado.
Usando o componente mat-ion de materiais angulares, podemos gerar SVGs locais. Estamos injetando o serviço MatIconRegistry, bem como o DomSanitizer no construtor. A função registerIcons() inclui os parâmetros load e URL, bem como uma função privada chamada load. Se usarmos esta variação, só precisaremos adicionar o nome do arquivo de imagem. Se você estiver usando uma string, a função de carregamento de icon.service será um pouco diferente. O nome da imagem será gerado usando o índice como chave para o nome da imagem na função load. Este serviço agora deve ser ativado quando o aplicativo começar a carregar. É muito mais fácil ler e manter o código porque é muito mais legível. Dividimos as imagens em seções separadas e um serviço mais simples foi implementado.