The solution provided by Ralph is rather complicated, so I need to create a new directive from their directive . I found a simple solution to this problem. The template for this md-calendar uses a button with an icon like this
<md-button class="md-datepicker-button md-icon-button" type="button" tabindex="-1" aria-hidden="true" ng-click="ctrl.openCalendarPane($event)"> <md-icon class="md-datepicker-calendar-icon" md-svg-icon="md- calendar"> </md-icon> </md-button>
So, I modify the css of class md-datepicker-button and hide the button
.calendarDiv .md-datepicker-button{ display: none; }
and use another custom icon like this
<md-icon md-svg-src="calendar.svg"></md-icon>
icon does not work by default icon , but this will solve my problem.
This is my sample plunker for samples .
source share