How to implement material spinner in Angular?; In this tutorial, we will learn how to implement a spinner with the Angular Material library, We will use the MatProgressSpinnerModule material modules to show a spinner and spinner progress bar some other important configurations.
We will use <mat-progress-spinner>
and <mat-spinner>
directive of MatProgressSpinnerModule, <mat-progress-spinner>
and <mat-spinner>
are circular indicators of progress and activity.
You can download the working example https://github.com/technostuf/angular-material-spinner-example
- Create a new Angular app
- Install Angular Material Library
- Import the modules
- Add code in the view file
- Run an Angular application
Create a new Angular 12 app
The first step is to open your terminal and execute the below command to create a new Angular app. just copy the below command and paste in terminal
ng new angular-material-tabs
Install Angular Material Library
To install the Angular Material Library in the Angular application using the below command
ng add @angular/material
After running the above command, it will ask you to choose a material theme and choose the CSS style method.
![angular material spinner](https://technostuf.com/wp-content/uploads/2022/04/angular-material-install-1024x233.png)
I choose an indigo-pink theme and we also need to import the theme CSS into our main style.css
/* You can add global styles to this file, and also import other style files */
html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
@import "~@angular/material/prebuilt-themes/indigo-pink.css";
Import the modules
In this step, we’ll import MatProgressSpinnerModule
and MatCardModulethe in app.module.ts file to make available thought out the project, MatProgressSpinnerModule module is used to show a spinner in our angular application. MatCardModulethe imports for design HTML view.
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
import { MatCardModule } from '@angular/material/card';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatProgressSpinnerModule,
MatCardModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Add code in the view file
Open the src\app\app.component.html file and add the below code to show a spinner.
<mat-card>
<mat-card-content>
<h2>Progress spinner</h2>
<section class="section">
<label>Color: warn</label>
<mat-spinner color="warn"></mat-spinner>
</section>
<section class="section">
<label>Color: primary</label>
<mat-spinner color="primary"></mat-spinner>
</section>
<section class="section">
<label>Color: accent</label>
<mat-spinner color="accent"></mat-spinner>
</section>
</mat-card-content>
</mat-card>
<mat-card>
<mat-card-content>
<h2>Progress bar</h2>
<section class="section">
<mat-progress-spinner mode="determinate" value='66'></mat-progress-spinner>
</section>
<section class="section">
<label>Change progress bar size</label>
<mat-progress-spinner mode="determinate" value='66' diameter="45"></mat-progress-spinner>
</section>
</mat-card-content>
</mat-card>
Directive options
[color] – Color of the Spinner loader, Spinner supports the three colors ‘primary’, ‘accent’, ‘warn’, by default spinner uses the primary color.
[mode] – The Spinner can be used as a loader or progress indicator in percentages 0 to 100, The spinner supports two modes, “determinate” and “indeterminate”, determinate for the show progress loader and indeterminate for the show a loader spinner.
[value] – if we use mode determinate then we pass the value as a percentage to show progress.
Run an Angular 12 application
Execute the following command on the terminal and run the angular app.
ng serve
Output
![angular material spinner](https://technostuf.com/wp-content/uploads/2022/04/angular-material-spinner-1024x457.png)
You can download the working example of the Angular material spinner Tutorial
https://github.com/technostuf/angular-material-spinner-example
Related Post
- How to use material chips(tags) in Angular?
- How to implement material spinner in Angular?
- Angular 12 autocomplete with API Data
- Angular 12 TinyMCE integration with an example
- Angular 12 Material Tabs Tutorial with Example
- Angular 12 Material Autocomplete Example
- Angular 12 Material Dialog Example
- How to bind HTML inside the angular binding?
- Angular 12 Bootstrap Responsive Carousel slider
- Angular 12 modal popup example with Bootstrap 4