如何从主题中获取颜色(不是最新的)?

时间:2017-09-07 05:32:58

标签: android

我有一些风格的主题,可以选择。 setTheme(getThemeResId())中的BaseActivity。我需要的任何地方都可以通过?attr/colorPrimary获得主要颜色。但在设置中,我想显示所有主题颜色。像getColor(R.attr.colorPrimary, R.style.AppTheme1)一样的Smth。怎么做?

1 个答案:

答案 0 :(得分:0)

int[] attrs = { R.attr.colorPrimary, R.attr.colorAccent, R.attr.colorSecondary };
TypedArray ta = getContext().obtainStyledAttributes(R.style.AppTheme1, attrs);
int colorPrimary = ta.getColor(0, Color.BLACK);
int colorAccent = ta.getColor(1, Color.BLACK);
int colorSecondary = ta.getColor(2, Color.BLACK);
Log.i("LOG", "colorPrimary as hex:" + Integer.toHexString(colorPrimary));