Angular Material でカスタム アイコンを使用する方法
公開: 2023-02-16Angular Material でカスタム アイコンを使用する場合は、いくつかの手順を実行する必要があります。 まず、独自のアイコン セットを作成する必要があります。 Angular Material には組み込みのアイコン セットが付属していますが、独自のアイコンを作成することもできます。 アイコンを取得したら、それらを Angular Material に登録する必要があります。 これは、アプリのモジュール ファイルで行うことができます。 アイコンを登録すると、組み込みのアイコンと同じように使用できます。 それらをマークアップで使用することも、プログラムでアクセスすることもできます。 Angular Material でカスタム アイコンを使用する方法は以上です。 これらの手順に従うことで、アプリケーションで使用する独自のアイコンを Angular Material に簡単に追加できます。
このチュートリアルでは、 >mat-icon> コンポーネントを使用して Material Icons フォントを作成します。 このコンポーネントは、カスタム sva アイコンのサポートに加えて使用されます。 GitHub で、完全に機能するコードを見つけることができます。 この投稿は、Angular v4.2+ のみを学習している人向けです。 このチュートリアルの Angular マテリアルは、もともと Angular 5.2 および Angular 10.1 で作成されました。 このチュートリアルで使用するアイコン (笑顔の顔に似ています) は気分アイコンです。 マテリアル アイコンの包括的なリストに加えて、マテリアル デザインの Web サイトには、単独で使用できるさまざまなアイコン スタイルが用意されています。
マウス アイコンを使用して SVG を表示できるようになりました。 .html ファイルの input プロパティにラベルを入力すると、アイコン ラベルを使用して、アクセスするアイコンを指定できます。 URL は https://app.html である必要があります。 現在入手可能なものを見てみましょう。 ブラウザでアプリケーションを見ると、カスタム アイコンが Material でスタイル設定されていることがわかります。 MatIconRegistry をサービス クラスに移動すると、コードの維持とクリーン化に役立ちます。
Angular 12 で Svg アイコンを使用するにはどうすればよいですか?
Angular 12 でSVG アイコンを使用するには、 @angular/material および @angular/material-extensions パッケージをインストールする必要があります。 その後、matIconRegistry サービスを使用してアイコンを登録し、コンポーネントに追加できます。
Icon.svg ファイルを別のファイルとして使用することで、Angular2 でコードを管理できます。 さらに、ng-inline-svg モジュール (または、可能であれば他の同様のアプローチ) を使用してこれを行うことができます。 その結果、基本的には中間のようなものになります。画像の種類ごとに個別のファイルが作成され、ページの読み込み時に画像がインラインになるため、JS/CSS を使用して画像を操作できます。
SVG の一部として aria-describeby を使用すると、障害を持つユーザーが Web サイトを使用する際のエクスペリエンスが向上します。 その結果、アイコンを aria-記述者 で説明すると、障害を持つユーザーがアイコンが何を表しているかを確実に理解できるようになります。
Png対の議論。 SVG アイコン
一方、アルファ チャネルを SVG ファイルに追加することもできます。 言い換えれば、SVG アイコンは少しの色を保持したまま透過領域に含めることができるため、 PNG アイコンよりも汎用性が高くなります。 アイコンに使用するファイルの選択は、特定のプロジェクトとそのニーズに依存します。
Html でカスタム Svg アイコンを使用するにはどうすればよいですか?
HTML でカスタム SVG アイコンを使用するには、アイコンの要素の href 属性にアイコンのファイル パスを含める必要があります。 ファイル パスは、ページのルート ディレクトリからの相対パスにする必要があります。 たとえば、アイコンがルート ディレクトリの「icons」というフォルダにある場合、ファイル パスは「icons/icon.svg」になります。
Icomoon や Fontello などのオンライン ツールが導入されて以来、Web フォントは非常に簡単に作成できるようになりました。 HTML5 では、スケーラブル ベクター グラフィックスのおかげで、より幅広いアイコンにアクセスできます。 Explorer 8 にテクニカル サポートを提供する場合は、いくつかの簡単なフォールバック オプションがあります。 フラグメントの識別子は組み込みの SVG プロパティです。 SVG ビュー仕様を使用したり、配列にアドレス指定したりする場合は、フラグメントを参照できます。 この要素は、>view> ID に基づくSVG 要素です。 このチェスの駒のスプライト (Wikipedia Commons から) の黒い馬のみを表示するには、以下のスキームと同様に値を検出する必要があります。
img タグを使用して画像を定義する手法は、Firefox、Chrome、Safari (デスクトップ)、および Opera でうまく機能します。 または、下の画像に示すように、外部 SVG ファイルを使用して CSS スプライトを作成することもできます。 これは、信頼性が高く、すぐに使用できる製造技術です。 さまざまな主要なブラウザー (IE8 を含む) でテストしたところ、完全に機能しました。 アイコンはタグとして画面に表示されます。 繰り返しになりますが、Icomoon を使用してシンボル タグのコレクションを手動で作成することも、Grunt プラグイン (Grunt SVG マージの場合は Google) を使用して作成することもできます。 IE9 を除いて、このメソッドはすべての主要なブラウザーで使用できます。 Jonathan Neal のソリューションである SVG4everybody でさえ、この問題を解決するために使用できます。
ソース コードで目的の幅属性が指定されていない限り、sva 画像は Chrome ブラウザーに表示されません。 SVG にこの属性がない場合、ブラウザは画像を拡大または縮小します。
Web ページで Svg 画像を使用する方法
svg> /svg> タグを使用して、SVG 画像を HTML に直接挿入できます。 SVG イメージは、コードをコピーして HTML ドキュメントの body 要素内に貼り付けることで、VS コードまたは好みの IDE でアクセスできます。 すべてが順調に進んだ場合、Web ページはここに示すものとまったく同じように表示されます。
Web ブラウザにアイコンの名前を入力するだけで、SVG 画像を使用してアイコンを作成できます。 それらに HTML を埋め込むことができ、それらのキャッシュされたバージョンをインストールできます。 証拠はまた、将来に有望です。 アイコンは、PNG または Scalable Graphic Interface (SVG) で作成する必要があります。
Angular Material Svg アイコン一覧
Angular Material ライブラリは、Google の Material Design 仕様に基づいて、再利用可能で十分にテストされたアクセス可能な UI コンポーネントのセットを提供します。 ライブラリの機能の 1 つは、SVG アイコンをマテリアル アイコンとして使用できることです。 Angular Material アイコン セットには、ソーシャル メディア アイコン、ファイル タイプ アイコン、矢印など、さまざまなアイコンが含まれています。 Material icons サイトで Angular Material アイコンの完全なリストを参照できます。
アイコンは、Angular Material の Mat -Icon コンポーネントを使用して表示できます。 このコンポーネントの主な機能は、Font-awesome などの Web フォントを使用して画像を表示できることです。必要な画像の名前を指定するだけです。 Web フォントに属さないアイコンはどうなりますか? 実行時にアイコンを変更しますか (ホバー時の色や特定の場所のボタンの状態など)。 ブラウザのコンソール セクションを開くと、次のエラーが表示されます。 リソース URL コンテキストを使用する場合、値 unsafe が使用されます。 URL をパラメーターとして定義することは、SecurityTrustResourceUrl をバイパスするために使用されます。これにより、攻撃者がこのような悪意のある URL を挿入するのを防ぎます。DomSanitizer の公式ドキュメントを参照してください。
後でもっと良い方法を検討しますが、今は単純にこれらを app.html ページに配置します。 上記のように、mat- icon HTML タグにクラスを追加します。 ユーザーがアイコンにカーソルを合わせると、SCSS の結果として画像の色が変わります。 アイコンにカーソルを合わせると、アイコンの色が変わるようになりました。 今後の投稿の一部として、これを改善し、サービスを使用してアイコンをロードできるようにリファクタリングすることを検討します。
Angular Material アイコンの使用方法
角度のあるマテリアル アイコンはどこにありますか?
必要な作業は、HTML コードで次の Google Web フォント CSS を使用することだけです。 マテリアル アイコンは 1 つのファイル (42 KB) にあり、サイズは大きいものから小さいものまでさまざまです。 アイコンは、Git リポジトリで確認できる 10 の異なるカテゴリに分類されます。 アイコンは、独自のサーバーでホストすることもできます。
マテリアル アイコンを表示するのに適したサイトをいくつか教えてください。
マテリアル アイコンを Git リポジトリにコンパイルしました。これには、使用可能なすべての形式が含まれています。
アイコンをカスタマイズする最良の方法は何ですか?
上記のように、class 要素を mat-icon HTML タグに追加する必要があります。 クラスに SCSS を追加すると、ユーザーがアイコンにカーソルを合わせるたびにアイコンの色が変わります。 アイコンにカーソルを合わせると、色が変わるようになりました。
Angular Material アイコンの使用方法
Angular Material アイコンは、Angular アプリケーション内で使用できる SVG です。 アイコンを使用するには、アイコン クラスを要素に追加するだけです。 たとえば、account-circle アイコンを使用するには、クラス mat-icon-account-circle を要素に追加します。
アプリケーションをすばやく設計し、それにビルドタグを割り当てるために使用できるAngularのマテリアルライブラリがあります。 マテリアル ライブラリには、アイコンを表示するために必要なマット アイコンが含まれています。 次のセクションでは、必要なライブラリをインストールする方法と、これを実装してアプリケーションにアイコンを表示する方法を学習します。 最初のサービスは MatIconRegistry です。これは、注入可能なサービスを使用してアイコンのエイリアスを識別および定義できるようにするレジストリです。 アイコンは非常に簡単に使用できますが、このディレクティブを表示するプロジェクトまたはルート モジュールにインポートする必要があります。 コマンド プロンプトで上記のコマンドを開始して、新しい angular プロジェクトを作成します。 以下にリストされているコマンドのいずれかを試して、必要なすべてのライブラリがプロジェクトにインストールされていることを確認してください。 これは、ライブラリとモジュールをルート モジュールに追加する手順に対処する必要なく、ライブラリとモジュールをアプリケーションで直接使用できる開発者に特に当てはまります。
マット アイコン Svg
mat- icon svg は、アイコンやロゴを表すために使用できる単純なベクター グラフィックです。 グラフィックは、品質を損なうことなくサイズを変更でき、簡単に編集または変更できます。
angular マテリアル mat-ion コンポーネントを使用して、ローカル SVG を生成できます。 MatIconRegistry サービスと DomSanitizer をコンストラクターに挿入しています。 registerIcons() 関数には、パラメータ load と URL、および load というプライベート関数が含まれています。 このバリエーションを使用する場合、画像ファイルの名前を追加するだけで済みます。 文字列を使用している場合、icon.service ロード関数は少し異なります。 画像名は、load 関数で画像名のキーとしてインデックスを使用して生成されます。 このサービスは、アプリケーションのロードが開始されたときにアクティブにする必要があります。 はるかに読みやすいため、コードの読み取りと保守がはるかに簡単になります。 画像を別々のセクションに分割し、よりシンプルなサービスを実装しました。