在主类中获取自定义主题颜色,在运行时使用标识符设置主题后

问题描述

我的默认自定义主题如下:

<style name="AppThemeRandomNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:textColor">?attr/colorPrimaryDark</item>
        <item name="android:windowAnimationStyle">@null</item>
        <item name="android:windowDisablePreview">true</item>
        <item name="bottomNavigationStyle">@style/bottomNavigationRandom</item>
        <item name="android:windowBackground">@color/white_exact</item>
      </style>

但是当我在运行时设置另一个主题时,例如:

context.setTheme(context.getResources().getIdentifier("T_" + stringColor,"style",context.getPackageName()));

在那之后,我想在我的班级中调用 use colorPrimary :

ContextCompat.getColor(mContext,R.color.colorPrimary)

但是,然后我得到了以前的主主题颜色,而不是运行时应用的颜色。虽然在运行时应用了主题,但新的主题颜色在ActionBar或Anywhere中都真实地出现。

所以,我的问题是如何获得在运行时应用的主题颜色?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)