내 앱에서 모든 색상 런타임을 변경해야합니다. 앱은 회색으로 시작하고 사용자에게 성별을 선택하도록 요청합니다. 그들이 남성을 선택하면 앱이 파란색으로 바뀌고 여성을 선택하면 앱이 분홍색으로 변합니다.테마의 모든 스타일을 유지하면서 colors.xml을 프로그래밍 방식으로 어떻게 변경합니까?
내가 정의한 AppTheme
그 스타일 모든 위젯, res/values/colors.xml
의 색상을 언급 차례로 또한 색상을 참조 배경에 대해 res/drawable
사용. 모두 꽤 견고하고 깔끔하게 함께 묶여있는 것 같습니다. 그래서 이걸 재사용하고 싶습니다.
내가 어떻게 든 res/values/colors.xml
을 바꾼다면, 모든 것이 잘 될 것이지만 이것이 가능하지 않다는 것을 두려워하고 나는 이것을 처음부터 어떻게하는지 모른다. 나는 내 테마를 AppTheme.Blue
과 AppTheme.Pink
에 복사하여 붙여 넣어야 할 것 같지만,이 모든 것들은 매번 drawable/*
에 가깝게 바뀌기 때문에 아주 끔찍합니다.
이렇게하는 방법? 별도의 colors.xml
을 가질 수있는 트릭이 있어야합니다 ...
http://stackoverflow.com/questions/4663752/switching-application-wide-theme-programmatically – Stallion
@Stephan Henningsen plz에서이 라이브러리를 확인하십시오. https://github.com/negusoft/GreenMatter, https : //github.com/negusoft/holoaccent –
@ Stallion이 질문에 대한 답변을 볼 수 없습니다. –