我正在尝试将材料设计与Angular项目结合起来 . 我的package.json的一部分看起来像这样:
"dependencies": {
"@angular2-material/button": "2.0.0-alpha.3",
"@angular2-material/card": "2.0.0-alpha.3",
"@angular2-material/checkbox": "2.0.0-alpha.3",
"@angular2-material/core": "2.0.0-alpha.3",
"@angular2-material/input": "2.0.0-alpha.3",
"@angular2-material/list": "2.0.0-alpha.3",
"@angular2-material/progress-bar": "2.0.0-alpha.3",
"@angular2-material/progress-circle": "2.0.0-alpha.3",
"@angular2-material/radio": "2.0.0-alpha.3",
"@angular2-material/sidenav": "2.0.0-alpha.3",
"@angular2-material/toolbar": "2.0.0-alpha.3",
"angular2": "2.0.0-beta.16",
"core-js": "^2.2.2",
"normalize.css": "^4.1.1",
"rxjs": "5.0.0-beta.2",
"zone.js": "~0.6.12"
},
在AngularJS 1中,您可以通过mdThemingProvider将颜色调色板设置为应用程序:
angular.module('myApp', ['ngMaterial']).config(function($mdThemingProvider) {
$mdThemingProvider.theme('default')
.primaryPalette('pink')
.accentPalette('orange');
});
现在我想为Angular做同样的事情,但不知道该怎么做 . 我是否需要通过提供程序设置调色板(然后可以使用哪个提供程序以及如何配置它?) . 或者我是否需要在我的核心scss文件中包含角度材料模块的scss文件并设置一些属性?
3 回答
不幸的是,由于Angular 2现在仍处于alpha状态, the only way to change the color palette is to modify _default-theme.scss directly and create a new npm package .
一位Angular成员说:
资料来源:https://github.com/angular/material2/issues/287
Angular Material 2现已更新为alpha 9,并为主题提供支持 . Theming Documentation解释了如何在应用程序中完全实现自己的自定义主题 .
以下是文档sass文件的内容 . 您可以决定不使用提供的材料颜色并使用您自己的颜色 .
应该注意的是,尽管主题支持是可用的,但它尚未最终确定,并且文档表明他们计划随着时间的推移使这更容易 . 然而,目前的状态运作良好 .
至于使用预定义的材质配色方案,您始终可以按照主题指南available here进行操作 .
如果要定义自己的公司颜色方案,只需预先定义自定义调色板并将其传递给
mat-palette()
函数:调色板中使用的Deafult色调为500(默认),100(较浅)和700(较暗) . 创建自定义配色方案的最简单方法是将调色板复制到from the standard palettes上并根据自己的喜好进行调整 .