Я работаю над проектом с несколькими темами, и каждая тема имеет разные значения для атрибутов.Настройка нескольких элементов стиля на одно и то же значение в xml
Я хочу, чтобы некоторые из моих атрибутов были одинаковыми, и я знаю, что могу добиться этого так.
<style name="theme_plain" parent="AppBaseThemeLight">
<item name="theme_backgroundtint">#FFF1F1F1</item>
<item name="theme_previewboxcolor">?theme_backgroundtint</item>
</style>
В моем коде я тогда получить это значение с
int boxcol = getIntFromAttr(R.attr.theme_previewboxcolor, themecolor);
Если текущая тема, заявленная в приложение является темой в вопросе, этот метод работает отлично, а значение theme_previewboxcolor = theme_backgroundtint из та же тема.
Однако, когда текущая заданная тема является другой темой, theme_previewboxcolor принимает значение theme_backgroundtint для темы, которая в настоящее время установлена. Я понимаю, почему это так, поскольку текущее значение theme_backgroundtint соответствует значению текущей темы.
Мне нужен способ, чтобы theme_previewboxcolor соответствовать значению theme_backgroundtint, который был установлен в одной и той же теме, так что даже если текущий набор тема отличается, значение theme_previewboxcolor и значение theme_backgroundtint, как указано в тема такая же.
Благодаря
есть что-то не так, просто используя ссылочный цвет: @ color/almost_white? – FunkTheMonk
Дело в том, что у меня есть несколько разных подтем, поэтому в родительском я хочу, чтобы theme_previewboxcolor был theme_backgroundtint, так что они одинаковы, даже когда theme_backgroundtint затем переопределяется в подтеме, как вы можете делать с атрибутами, поэтому абсолютные ссылки цвета не будут работать – Luke