Подтвердить что ты не робот

Как получить основной цвет из моей темы приложения?

В моем Java-коде Android, как я могу ссылаться на цвет "colorPrimary", установленный в моей теме?

У меня есть следующее определение темы:

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">

    <item name="colorPrimary">@color/myColor1</item>
    <item name="colorPrimaryDark">@color/myColor2</item>      
    <item name="colorControlNormal">@color/myColor3</item>
    <item name="colorControlActivated">@color/myColor4</item>

</style>

Я мог бы напрямую ссылаться на ресурс цвета (R.color.myColor1), но я бы предпочел ссылаться на параметр primaryColor темы, чтобы он оставался последовательным, если в будущем будет изменяться цветовая схема.

Возможно ли это?

4b9b3361

Ответ 1

Используйте это:

TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true);
int color = typedValue.data;