Angular Material is a popular UI framework based on Material Design for Angular.
In this article, we’ll look at how to use Angular Material into our Angular project.
Tabs
We can add tabs with Angular Material.
To add it, we can write:
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatTabsModule } from '@angular/material/tabs';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatTabsModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<div>
<mat-tab-group mat-align-tabs="start">
<mat-tab label="First">Content 1</mat-tab>
<mat-tab label="Second">Content 2</mat-tab>
<mat-tab label="Third">Content 3</mat-tab>
</mat-tab-group>
</div>
We add the MatTabsModule
into our Angular module.
Then we add the mat-tab-group
and the mat-tab
component to add the tabs.
The label
has the tab header text.
The content between the mat-tab
tags are the tab content.
The mat-align-tabs
attribute lets us align the tabs to the position we want.
Other values of it can be center
or end
.
Toolbar
We can add a toolbar with the mat-toolbar
component.
For instance, we can write:
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatIconModule } from '@angular/material/icon';
import { MatButtonModule } from '@angular/material/button';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatToolbarModule,
MatIconModule,
MatButtonModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
<div>
<mat-toolbar>
<button mat-icon-button class="example-icon"
aria-label="Example icon-button with menu icon">
<mat-icon>menu</mat-icon>
</button>
<span>My App</span>
<span class="example-spacer"></span>
<button mat-icon-button class="example-icon favorite-icon"
aria-label="Example icon-button with heart icon">
<mat-icon>favorite</mat-icon>
</button>
<button mat-icon-button class="example-icon"
aria-label="Example icon-button with share icon">
<mat-icon>share</mat-icon>
</button>
</mat-toolbar>
</div>
styles.css
.example-spacer {
flex: 1 1 auto;
}
We add the MatIconModule
, MatToolbarModule
, and MatButtonModule
to let us add the toolbar button icons, toolbar, and buttons respectively.
In app.component.html
, we add the toolbar with the mat-toolbar
component.
The mat-icon-button
directive lets us add icon buttons.
In styles.css
, we add the flex
property to let us space out the buttons.
We can add a multi-row toolbar with:
app.component.html
<div>
<mat-toolbar color="primary">
<mat-toolbar-row>
<span>Custom Toolbar</span>
</mat-toolbar-row>
<mat-toolbar-row>
<span>Second Line</span>
<span class="example-spacer"></span>
<mat-icon class="example-icon" aria-hidden="false"
aria-label="Example user verified icon">verified_user</mat-icon>
</mat-toolbar-row>
<mat-toolbar-row>
<span>Third Line</span>
<span class="example-spacer"></span>
<mat-icon class="example-icon" aria-hidden="false"
aria-label="Example heart icon">favorite</mat-icon>
<mat-icon class="example-icon" aria-hidden="false"
aria-label="Example delete icon">delete</mat-icon>
</mat-toolbar-row>
</mat-toolbar>
</div>
We add the mat-toolbar-row
component into our mat-toolbar
component to add the rows.
Conclusion
We can add tabs and toolbars easily with Angular Material.