Angular-material-icons

提供:Dev Guides
移動先:案内検索

角材-アイコン

Angularディレクティブである md-icon は、アプリケーションでベクターベースのアイコンを表示するためのコンポーネントです。 Googleマテリアルアイコンの使用とは別に、アイコンフォントとSVGアイコンもサポートしています。

属性

次の表に、 md-icon のさまざまな属性のパラメーターと説明を示します。

Sr.No Parameter & Description
1
  • md-font-icon*

これは、フォントフェイスに関連付けられたCSSアイコンの文字列名で、アイコンのレンダリングに使用されます。 フォントと名前付きCSSスタイルをプリロードする必要があります。

2
  • md-font-set*

これは、フォントアイコン合字のクラスとして割り当てられるフォントライブラリに関連付けられたCSSスタイル名です。 この値は、クラス名の検索に使用されるエイリアスでもあります。内部的に$ mdIconProvider.fontSet(<alias>)を使用してスタイル名を決定します。

3
  • md-svg-src*

これは、外部SVGのロード、キャッシュ、および表示に使用される文字列URL(または式)です。

4
  • md-svg-icon*

これは、内部キャッシュからのアイコンの検索に使用される文字列名です。補間された文字列または式も使用できます。 特定のセット名は、構文<セット名>:<アイコン名>で使用できます。 アイコンセットを使用するには、開発者は$ mdIconProviderサービスを使用してセットを事前登録する必要があります。

5

aria-label

これは、アクセシビリティのラベルアイコンです。 空の文字列が指定された場合、アイコンはaria-hidden = "true"でアクセシビリティレイヤーから隠されます。 アイコンにaria-labelまたは親要素にラベルがない場合、警告がコンソールに記録されます。

6

alt

これは、アクセシビリティのラベルアイコンです。 空の文字列が指定された場合、アイコンはaria-hidden = "true"でアクセシビリティレイヤーから隠されます。 アイコンにaltも親要素にもラベルがない場合、警告がコンソールに記録されます。

次の例は、md-iconsディレクティブの使用法とアイコンの使用法を示しています。

*_am_icons_*
<html lang = "en">
   <head>
      <link rel = "stylesheet"
         href = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css">
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script>
      <script src = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script>
      <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons">
      <style>
         .iconDemo .glyph {
            border-bottom: 1px dotted #ccc;
            padding: 10px 0 20px;
            margin-bottom: 20px;
         }

         .iconDemo .preview-glyphs {
            display: flex;
            flex-direction: row;
         }

         .iconDemo .step {
            flex-grow: 1;
            line-height: 0.5;
         }

         .iconDemo .material-icons.md-18 {
            font-size: 18px;
         }

         .iconDemo .material-icons.md-24 {
            font-size: 24px;
         }

         .iconDemo .material-icons.md-36 {
            font-size: 36px;
         }

         .iconDemo .material-icons.md-48 {
            font-size: 48px;
         }

         .iconDemo .material-icons.md-dark {
            color: rgba(0, 0, 0, 0.54);
         }

         .iconDemo .material-icons.md-dark.md-inactive {
            color: rgba(0, 0, 0, 0.26);
         }

         .iconDemo .material-icons.md-light {
            color: white;
         }

         .iconDemo .material-icons.md-light.md-inactive {
            color: rgba(255, 255, 255, 0.3);
         }
      </style>

      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('iconController', iconController);

         function iconController ($scope) {
            var iconData = [
               {name: 'accessibility'  , color: "#777" },
               {name: 'question_answer', color: "rgb(89, 226, 168)" },
               {name: 'backup'         , color: "#A00" },
               {name: 'email'          , color: "#00A" }
            ];

            $scope.fonts = [].concat(iconData);
            $scope.sizes = [
               {size:"md-18",padding:0},
               {size:"md-24",padding:2},
               {size:"md-36",padding:6},
               {size:"md-48",padding:10}
            ];
         }
      </script>
   </head>

   <body ng-app = "firstApplication">
      <div id = "iconContainer" class = "iconDemo"
         ng-controller = "iconController as ctrl" ng-cloak>
         <div class = "glyph" ng-repeat = "font in fonts" layout = "row">
            <div ng-repeat = "it in sizes" flex layout-align = "center center"
               style = "text-align: center;" layout = "column">
            <div flex></div>
               <div class = "preview-glyphs">
                  <md-icon ng-style = "{color: font.color}"
                     aria-label = "{{ font.name }}"
                     class = "material-icons step"
                     ng-class = "it.size">
                     {{ font.name }}
                  </md-icon>
               </div>
            </div>
         </div>
      </div>
   </body>
</html>

結果

結果を確認します。