Material Angular - Barras de Progresso

o md-progress-circular e md-progress-linear são diretivas de progresso Angular e são usadas para mostrar a mensagem de conteúdo de carregamento no aplicativo.

Atributos - md-progress-circular

A tabela a seguir lista os parâmetros e a descrição dos diferentes atributos de md-progress-circular.

Sr. Não Parâmetro e Descrição
1

* md-mode

Selecione um dos dois modos: 'determinate'e'indeterminate'. Se o valor do modo md for definido como indefinido ou especificado como não sendo 1 dos dois (2) modos válidos, .ng-hide será aplicado automaticamente como um estilo ao componente; se não for configurado, o md-mode = "indeterminate" será injetado automaticamente como um atributo. Se value = "" também for especificado, entretanto, então md-mode = "determinate" será autoinjetado.

2

value

No modo determinado, este número representa a porcentagem do progresso circular. Por padrão, é 0.

3

md-diameter

Isso especifica o diâmetro do progresso circular. O valor pode ser uma porcentagem (por exemplo, '25% ') ou um valor de tamanho de pixel (por exemplo,' 48 '). Se este atributo não estiver presente, um valor padrão de '48px' será assumido.

Exemplo

O exemplo a seguir mostra o uso do md-progress-circular diretiva e também o uso de barras de progresso circulares.

am_circularprogressbars.htm

<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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('progressbarsController', progressbarsController);

         function progressbarsController ($scope, $interval) {
            var self = this,  j = 0, counter = 0;
            self.modes = [ ];
            self.activated = true;
            self.determinateValue = 30;
            
            self.toggleActivation = function() {
               if ( !self.activated ) self.modes = [ ];
               if (  self.activated ) j = counter = 0;
            };
            
            $interval(function() {
               self.determinateValue += 1;

               if (self.determinateValue > 100) {
                  self.determinateValue = 30;
               }
               
               if ( (j < 5) && !self.modes[j] && self.activated ) {
                  self.modes[j] = 'indeterminate';
               }
               if ( counter++ % 4 == 0 ) j++;
            }, 100, 0, true);
         }
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "progressbarsContainer" ng-controller = "progressbarsController as ctrl"
         layout = "column" ng-cloak>
         
         <h4 style = "margin-top:10px">Determinate </h4><p></p>
         <div layout = "row" layout-sm = "column" layout-align = "space-around">
            <md-progress-circular md-mode = "determinate"
               value = "{{ctrl.determinateValue}}"></md-progress-circular>
         </div>
         
         <h4 style = "margin-top:10px">Indeterminate </h4>
         <div layout = "row" layout-sm = "column" layout-align = "space-around">
            <md-progress-circular md-mode = "indeterminate"></md-progress-circular>
         </div>
         
         <h4 style = "margin-top:10px">Theme Based</h4>
         <div layout = "row" layout-sm = "column" layout-align = "space-around">
            <md-progress-circular class = "md-hue-2" md-mode = "{{ctrl.modes[0]}}" 
               md-diameter = "20px"></md-progress-circular>
            
            <md-progress-circular class = "md-accent" md-mode = "{{ctrl.modes[1]}}"
               md-diameter = "40"></md-progress-circular>
            
            <md-progress-circular class = "md-accent md-hue-1" md-mode = "{{ctrl.modes[2]}}"
               md-diameter = "60"></md-progress-circular>
            
            <md-progress-circular class = "md-warn md-hue-3" md-mode = "{{ctrl.modes[3]}}"
               md-diameter = "70"></md-progress-circular>
            
            <md-progress-circular md-mode = "{{ctrl.modes[4]}}" md-diameter = "96">
               </md-progress-circular>
         </div>
         
         <hr ng-class = "{'visible' : ctrl.activated}">
         <div id = "loaders" layout = "row" layout-align = "start center">
            <p>Progress Circular Indicators:    </p>
            <h5>Off</h5>
            <md-switch
               ng-model = "ctrl.activated"
               ng-change = "ctrl.toggleActivation()"
               aria-label = "Toggle Progress Circular Indicators">
               <h5>On</h5>
            </md-switch>
         </div>
         
      </div>
   </body>
</html>

Resultado

Verifique o resultado.

Atributos - md-progress-linear

A tabela a seguir lista os parâmetros e a descrição dos diferentes atributos de md-progress-linear.

Sr. Não Parâmetro e Descrição
1

* md-mode

Selecione um dos dois modos: 'determinate'e'indeterminate'. Se o valor do modo md for definido como indefinido ou especificado como não sendo 1 dos dois (2) modos válidos, então.ng-hideserá aplicado automaticamente como um estilo ao componente; se não for configurado, omd-mode = "indeterminate"será injetado automaticamente como um atributo. E sevalue = "" também é especificado, entretanto, md-mode="determinate" será injetado automaticamente.

2

md-buffer-value

No modo determinado, este número representa a porcentagem da barra de progresso principal. Por padrão, é 0.

3

md-diameter

No modo buffer, este número representa a porcentagem da barra de progresso secundária. Por padrão, é 0.

Exemplo

O exemplo a seguir mostra o uso do md-progress-circular diretiva e também o uso de barras de progresso linear.

am_linearprogressbars.htm

<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">
      
      <script language = "javascript">
         angular
            .module('firstApplication', ['ngMaterial'])
            .controller('progressbarsController', progressbarsController);

         function progressbarsController ($scope, $interval) {
            var self = this,  j = 0, counter = 0;
            self.modes = [ ];
            self.activated = true;
            self.determinateValue = 30;
            
            self.toggleActivation = function() {
               if ( !self.activated ) self.modes = [ ];
               if (  self.activated ) j = counter = 0;
            };
            
            $interval(function() {
               self.determinateValue += 1;
               if (self.determinateValue > 100) {
                  self.determinateValue = 30;
               }
               
               if ( (j < 5) && !self.modes[j] && self.activated ) {
                  self.modes[j] = 'indeterminate';
               }
               
               if ( counter++ % 4 == 0 ) j++;
            }, 100, 0, true);
         }
      </script>      
   </head>
   
   <body ng-app = "firstApplication"> 
      <div id = "progressbarsContainer" ng-controller = "progressbarsController as ctrl"
         layout = "column" ng-cloak>
         
         <h4 style = "margin-top:10px">Determinate </h4><p></p>
         <div layout = "row" layout-sm = "column" layout-align = "space-around">
            <md-progress-linear md-mode = "determinate"
               value = "{{ctrl.determinateValue}}"></md-progress-circular>
         </div>
         
         <h4 style = "margin-top:10px">Indeterminate </h4>
         <div layout = "row" layout-sm = "column" layout-align = "space-around">
            <md-progress-linear md-mode = "indeterminate"></md-progress-circular>
         </div>
         
         <h4 style = "margin-top:10px">Buffer</h4>
         <div layout = "row" layout-sm = "column" layout-align = "space-around">
            <md-progress-linear class = "md-warn" md-mode = "{{ctrl.modes[0]}}"
               value = "{{ctrl.determinateValue}}"
               md-buffer-value = "{{ctrl.determinateValue2}}"></md-progress-linear>
         </div>
         
         <hr ng-class = "{'visible' : ctrl.activated}">
         <div id = "loaders" layout = "row" layout-align = "start center">
            <p>Progress Buffer Indicators:    </p>
            <h5>Off</h5>
            <md-switch
               ng-model = "ctrl.activated"
               ng-change = "ctrl.toggleActivation()"
               aria-label = "Toggle Buffer Progress Indicators">
               <h5>On</h5>
            </md-switch>
         </div>
         
      </div>
   </body>
</html>

Resultado

Verifique o resultado.