问题
In my Android java code, how can I reference the color "colorPrimary" set in my theme?
I have the following theme definition:
<!-- 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>
I could reference the color resource directly (R.color.myColor1), but I would prefer to reference the theme's primaryColor setting, so that it stays consistent if the colorPrimary changes in the future.
Is this possible?
回答1:
Use this:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.colorPrimary, typedValue, true);
int color = typedValue.data;
来源:https://stackoverflow.com/questions/28489509/how-can-i-get-the-primary-color-from-my-app-theme