2016-09-20 3 views
0

여러 테마를 가진 프로젝트에서 작업하고 있으며 모든 테마의 속성 값이 다릅니다.xml에서 여러 스타일 항목을 동일한 값으로 설정

내 속성 중 일부를 동일한 값으로 지정하고 싶습니다. 이와 같이 달성 할 수 있습니다. 응용 프로그램에 설정된 현재 테마가 문제의 주제는 언제 다음

int boxcol = getIntFromAttr(R.attr.theme_previewboxcolor, themecolor); 

이 값에 액세스 내 코드에서

<style name="theme_plain" parent="AppBaseThemeLight"> 
    <item name="theme_backgroundtint">#FFF1F1F1</item> 
    <item name="theme_previewboxcolor">?theme_backgroundtint</item> 
</style> 

,이 방법은 잘 작동하고 theme_previewboxcolor = theme_backgroundtint의 값에서 같은 테마.

그러나 현재 설정된 테마가 다른 테마 인 경우 theme_previewboxcolor는 현재 설정된 테마의 theme_backgroundtint 값을 사용합니다. theme_backgroundtint의 현재 값이 현재 테마의 현재 값으로 설정되어 있기 때문에 왜 그런지 이해합니다.

나는 현재 세트 테마가 다른 경우에도, theme_previewboxcolor의 가치와 theme_backgroundtint의 값이에 설정된 있도록, 같은 주제에 을 설정 한 theme_backgroundtint의 값과 일치 theme_previewboxcolor있는 방법이 필요 테마는 동일합니다. 내가 theme_previewboxcolor로 내 코드를 읽을해야하는 속성 값을 지정하는 열거 형을 사용하는 경우

감사

+0

그냥 참조 된 색상을 사용하는 데 문제가 있습니다. @ color/almost_white? – FunkTheMonk

+0

내가 여러 개의 다른 하위 테마를 가지고 있으므로 부모에서 theme_backgroundtint를 theme_backgroundtint로 설정하려고합니다. 따라서 theme_backgroundtint가 속성으로 할 수있는 것처럼 subtheme에서 재정의 된 경우에도 동일합니다. 절대 색 참조가 작동하지 않습니다. – Luke

답변

0

는 I는 해결 방법을 발견했다. 그러나 이것은 theme_previewboxcolor가 새로운 값을 택일 적으로 선언하는 것을 허용하지 않습니다.

관련 문제