I have created a toolbar using Angular Material. However, it is not responsive. How can I make the toolbar responsive?
Code for toolbar:
<md-toolbar color = "primary">
<button md-button class="md-primary" [routerLink]="['/basic']"><md-icon class = "icon-20">home</md-icon> Angular Concepts</button>
<button md-button [mdMenuTriggerFor]="bMenu">Basic Concepts</button>
<md-menu #bMenu="mdMenu">
<button md-menu-item [routerLink]="['/a4']">Angular Component</button>
<button md-menu-item [routerLink]="['/cli ']">Angular CLI</button>
<button md-menu-item [routerLink]="['/inout']">Event Emitters</button>
<button md-menu-item [routerLink]="['/template']">Template Driven Forms</button>
<button md-menu-item [routerLink]="['/reactive']">Data Driven Forms</button>
<button md-menu-item [routerLink]="['/directives']">Angular Custom Directives</button>
<button md-menu-item [routerLink]="['/pipes']">Custom Pipes</button>
<button md-menu-item [routerLink]="['/viewchild']">View Child</button>
<button md-menu-item [routerLink]="['/view']">View Encapsulation</button>
</md-menu>
<button md-button [mdMenuTriggerFor]="aMenu">Advanced Concepts</button>
<md-menu #aMenu="mdMenu">
<button md-menu-item [routerLink]="['/ngrx']">Angular Redux using ngrx/store</button>
<button md-menu-item [routerLink]="['/guard']">Angular Guards</button>
<button md-menu-item [routerLink]="['/host']">Host & Host-Context</button>
</md-menu>
<button md-button (click)="openDialog()"> Contact Card</button>
</md-toolbar>
My crude implementation attempt with flex-layout and angular-material 5.0.2
Use
angular/flex-layout
for responsiveness.flex-layout
wikiflex-layout
DemoProblem
You need a way to make your navigation bar responsive.
Solution
You can use Material Angular with ToolBar and Flex-Layout.
Example
Example Angular Material Toolbar with Flex Layout. Here is a great tutorial here.
Here is my favorite way of creating a responsive Navigation Bar in Angular. If you use Angular 6, make sure you use a version 6.1+
Working example on Stackblitz: https://stackblitz.com/edit/angular-v6xwte
Example on a smaller screen:
Example on a larger screen:
Here are precise steps how to do it:
1) Install necessary packages. Type in your terminal:
2) Import necessary modules in your app.module.ts
Remember to add these modules to the imports array below.
3) Add Material Icons link to your index.html
The link must go before any Angular content.
4) In your styles.css add an Angular theme and set margins to 0%
5) Add toolbar HTML code in your app.component.html
6) Style the toolbar in your app.component.css