Как создать несколько тем в материале angular?

Я хочу применить синий, светло-голубой, зеленый и оранжевый оттенок в своем приложении. Я использую материальную угловую часть темы. Но не понимаю, как именно использовать .. мне нужно создать css ?? или js или директива..


person shweta saraph    schedule 08.05.2015    source источник
comment
Как создать класс css для каждой темы??   -  person shweta saraph    schedule 08.05.2015
comment
Можете ли вы показать нам пример? Таким образом, мы можем помочь вам лучше.   -  person Danish Jamil    schedule 08.05.2015


Ответы (1)


1.) Сначала просмотрите документацию темы здесь

2.) Выберите цвета из палитры (ссылка)

3.) Создайте свою собственную тему с нужными вам цветами и определите ее в app.config.

app.config(function($mdThemingProvider) {

    $mdThemingProvider.theme('default')
          .primaryPalette('blue')
          .accentPalette('indigo')
          .warnPalette('red')
          .backgroundPalette('grey');

    $mdThemingProvider.theme('custom')
          .primaryPalette('grey')
          .accentPalette('deep-purple')
          .warnPalette('green')

    //create yr own palette 
    $mdThemingProvider.definePalette('amazingPaletteName', {
        '50': 'ffebee',
        '100': 'ffcdd2',
        '200': 'ef9a9a',
        '300': 'e57373',
        '400': 'ef5350',
        '500': 'f44336',
        '600': 'e53935',
        '700': 'd32f2f',
        '800': 'c62828',
        '900': 'b71c1c',
        'A100': 'ff8a80',
        'A200': 'ff5252',
        'A400': 'ff1744',
        'A700': 'd50000',
        'contrastDefaultColor': 'light',    // whether, by default, text         (contrast)
                                    // on this palette should be dark or light
        'contrastDarkColors': ['50', '100', //hues which contrast should be 'dark' by default
         '200', '300', '400', 'A100'],
        'contrastLightColors': undefined    // could also specify this if default was 'dark'
    });

   $mdThemingProvider.theme('custom2')
        .primaryPalette('amazingPaletteName')

}

4.) Затем на вашем html вы можете просто использовать эту тему

<div>
   <md-button class="md-primary">I will be blue (by default)</md-button>
   <div md-theme="custom">
      <md-button class="md-primary">I will be grey(custom)</md-button>
   </div>
   <div md-theme="custom2">
      <md-button class="md-primary">I will be red(custom2)</md-button>
   </div>
</div>
person nitin    schedule 11.05.2015
comment
Я добавил тот же код, но цвет фона палитры не изменился.. :( - person shweta saraph; 12.05.2015
comment
возникла проблема с фоном (github.com/angular/material/issues/1450 ), это исправлено в последней версии. Попробуйте обновить файл angular-material. - person nitin; 12.05.2015
comment
я хочу использовать белый цвет в качестве основного, как я могу? - person Jason Brody; 23.06.2016
comment
Вы должны выполнить шаг 3 из ответа и использовать разные оттенки белого при определении своей палитры. - person nitin; 23.06.2016