명료성에는 밝은 테마와 어두운 테마 모두에 대한 스타일 시트가 함께 제공됩니다. 우리는 here을 사용하여 angular-cli
또는 webpack
빌드 구성을 사용하는 방법을 문서화합니다. 즉 일단 앱이 만들어지면 스타일 만있는 것입니다.
테마 전환기를 구현하여 두 전환 방법을 구현하는 방법에 대한 아이디어가 있습니다.
- 빌드시 테마 CSS 파일 중 하나없이 (전혀 명확 스타일) 자산 폴더에
- 복사 CSS 파일 (모두 응용 프로그램을 구축하지 : 여기가 내 프로토 타입을 시작할 수있는 거친 생각입니다 앱에서 주변의 활성 테마 값을 전달하고 수정할 수 있도록)
- 는
<head>
- 스토어에서 스타일 시트 서비스의 두 경로
/path/to/light.css
및 /path/to/dark.css
의 SRC에의 @Input
을 할 수있는 지침 또는 구성 요소를 쓰기 필요할 때.
- 사용자가 테마를 업데이트 할 수있게하려는 앱 구성 요소에 서비스를 추가합니다.
앱에 대한 아이디어가 있습니까?
프로토 타입이 작동 한 후에 여기에서 업데이트 해 보겠습니다. 그래서 실제 동작을보고 소스 코드를 찾을 수 있습니다.
흥미 롭 군. 나는 당신의 POC를보고 싶어합니다. 여기에 설명 된 기술에 대해 어떻게 생각하십니까? https://stackoverflow.com/questions/42481704/angular-material-2-switch-theme-from-light-to-dark-on-click – David
접근 방식을 지원한다고 생각합니다. 우리는 하나의 style.css 파일로 각 테마마다 스타일을 만들고 전달해야합니다. 사용자가 하나의 테마 나 다른 테마를 필요로하지 않더라도 CSS 파일의 크기를 두 배로 늘릴 수 있습니다. 내가 탐구하고자하는 접근 방식은 테마가 앱 측면에서 적용될 수 있도록'CSS 사용자 정의 속성 (CSS 변수) '입니다. 커다란 장애물은 IE11의 지원 부족입니다. (Edge v15는이를 지원합니다.) 그래서 이것은 IE11을 지원하기 위해 polyfill을 추가하는 것을 의미합니다. – hippeelee
아이디어의 데모를 만들 수 있었습니까? 아니면 당신의 생각은 Jeremy의 대답과 비슷합니다. 초기 지연이 어떻게 든 회피 될 수 있다면 좋을 것입니다. –