角度材料设计提供商定义中是否可以有三种以上的色调?

时间:2015-10-27 23:28:46

标签: angularjs angular-material

现在,我似乎只允许在提供程序中定义3个色调,并且不允许创建可用作hue-4的名为class="md-primary md-hue-4"的新色调。我是否认为只有色调1-3和默认值才能被定义?

       $mdThemingProvider.definePalette('hc', {'50':'#000000','100':'#ff0000','200':'#ffc285','300':'#ff9e3d','400':'#ff8f1f','500':'#ff8000','600':'#e07100','700':'#c26100','800':'#a35200','900':'#854300','A100':'#ffffff','A200':'#ffdebd','A400':'#ff8f1f','A700':'#c26100'});

    $mdThemingProvider.definePalette('other', {'50':'#aff8f2','100':'#ff0000','200':'#34eede','300':'#11cbba','400':'#0eaea0','500':'#0c9286','600':'#0a766c','700':'#075952','800':'#053d38','900':'#03211e','A100':'#aff8f2','A200':'#68f3e6','A400':'#0eaea0','A700':'#075952'});

    $mdThemingProvider.theme('hc-thing')

        .primaryPalette('hc',{
            'default': '100', // by default use shade 400 from the pink palette for primary
            // intentions
            'hue-1': '100', // use shade 100 for the <code>md-hue-1</code> class
            'hue-2': '600', // use shade 600 for the <code>md-hue-2</code> class
            'hue-3': '50'
        })

        .accentPalette('other');

    $mdThemingProvider.setDefaultTheme('hc-thing');

1 个答案:

答案 0 :(得分:0)

答案简短:不。

基于角度 - 材料official document(v1.1.0):

  

为颜色意图指定自定义色调

     

您可以从调色板中指定色调   意图组默认为md-hue-1,md-hue-2,md-hue-3   类。

     

默认情况下,阴影500,300 800和A100用于主要和警告   意图,而A200,A100,A400和A700用于重音。

所以基本上,angular-material只会在md-hue-3之前将类应用于元素,如果你尝试使用md-hue-4或更高的数字,它将被忽略,因为没有定义相关的css在框架中。

请注意,如果您尝试将hue-4添加到调色板,则会抛出错误:

// Don't do this, it will break
$mdThemingProvider.theme('default')
    .primaryPalette('pink', {
      'default': '400', // by default use shade 400 from the pink palette for primary intentions
      'hue-1': '100', // use shade 100 for the <code>md-hue-1</code> class
      'hue-2': '600', // use shade 600 for the <code>md-hue-2</code> class
      'hue-3': 'A100', // use shade A100 for the <code>md-hue-3</code> class
      'hue-4': 'A400', // I know you really want this but it won't work
    })

您最好的方法是添加自定义css类并覆盖那里的颜色。

请注意Material Design Guidelines不推荐使用太多调色板和太多阴影