android获取当前主题,在Android中获取当前主题的默认TextView textColor
我正在尝试在运行时重置TextView的TextColor.我想将TextView的默认颜色作为@ColorInt.我相信当前的主题知道这一点.这是我试过的:public @ColorInt int getDefaultThemeColor(int attribute) {TypedArray themeArray = mContext.getTheme().obtainStyledAttribu
我正在尝试在运行时重置TextView的TextColor.我想将TextView的默认颜色作为@ColorInt.我相信当前的主题知道这一点.
这是我试过的:
public @ColorInt int getDefaultThemeColor(int attribute) {
TypedArray themeArray = mContext.getTheme().obtainStyledAttributes(new int[] {attribute});
try {
int index = 0;
int defaultColourValue = 0;
return themeArray.getColor(index, defaultColourValue);
}
finally {
themeArray.recycle();
}
}
其中属性是:
> android.R.attr.textColor
> android.R.attr.textColorPrimary
> android.R.attr.textColorSecondary
他们都没有努力找回正确的颜色.我还尝试用以下方法替换方法的第一行:
TypedArray themeArray = mContext.getTheme().obtainStyledAttributes(R.style.AppTheme, new int[] {attribute});
我不想要肮脏的解决方案:
>获取并存储TextView的textColor
>将颜色改变为任何颜色
>将其重置回先前存储的值
任何提示?
更多推荐
所有评论(0)