Ответ Shot
Ответьте за вас, если ваш угловой проект использует scss.Цвета наверняка есть, если вы используете нёбо по умолчанию из модуля углового материала, как в примере, который вы дали выше.Вы, вероятно, просто не добавили оверлейные темы.Выбор матов - это оверлей
На вашем основном
main.scss
@import '../node_modules/@angular/material/theming';
$anms-black-primary: mat-palette($mat-grey, 700, 300, 900);
$anms-black-accent: mat-palette($mat-blue-grey, 400);
$anms-black-warn: mat-palette($mat-red, 500);
$anms-black-theme: mat-dark-theme(
$anms-black-primary,
$anms-black-accent,
$anms-black-warn
);
@include angular-material-theme($anms-black-theme);
.whatever-theme {
@include angular-material-theme($anms-black-theme);
}
app.component.ts
export class AppComponent {
constructor(overlayContainer: OverlayContainer) {
overlayContainer.getContainerElement().classList.add('whatever-theme');
}
}
Готовые темы только что сгенерированысоставив файл scss.Большинство переменных и функций темы находятся в node_modules/@angular/material/_theme.scss
Пример
$(npm bin)/node-sass $FILE > $DEST_PATH/$BASENAME.css
Длинный ответ
Для пониманияТемы в angular Вы должны иметь базовое представление о scss, который является стандартным способом создания тем в angular.
https://sass-lang.com/guide
Чтобы иметь хороший пример стиля scss под правильным угломПроектом будет материал репо материалов.https://github.com/angular/material.angular.io
.
В node_modules/@angular/material/_theming.scss вы можете увидеть, как определяются переменные темы, и самостоятельно определять собственные темы.
Хороший ответ для создания пользовательских тем.
Как использовать пользовательские палитры тем в Angular?