在Android中运行时更改主题颜色

DIG*_*EDI 5 java android android-theme

如果在应用程序中添加了多个主题并且可以在运行时轻松切换,则可以更改主题颜色.其他方法是逐个改变actiobar,textview等的颜色.这种方式很长,需要很多代码.我找到的简单方法是在colors.xml文件中更改颜色声明但我找不到编程方式或第三方库来执行此操作.有没有办法做到这一点.

我的颜色XML文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#ea1e63</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#FF4081</color>
</resources>
Run Code Online (Sandbox Code Playgroud)

我只是想在运行时更改colorPrimary颜色,这将改变所有应用程序活动的颜色.我发现https://github.com/negusoft/GreenMatter在运行时,但其旧改颜色,采用Android工作室不工作.

Ami*_*ela 0

当您应用主题并想要更改颜色时

前任 :

activity.setTheme(R.style.green);


<style name="green">
        <item name="main_background">@drawable/background_green</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="button_light">@color/button_light</item>
</style>
Run Code Online (Sandbox Code Playgroud)

主题颜色无法在特定主题的运行时更改

创建自定义样式并在您想要更改应用程序中的颜色时更改这些样式。

  • 请仔细阅读问题,我不想在运行时切换主题。我想更改保存在 color.xml 文件中的颜色值 (4认同)