【发布时间】:2020-05-06 14:58:20
【问题描述】:
目标:在 Android 应用中,我们从服务器接收颜色。登录后用户从 JSON 获得具体的颜色集,例如
{
"color-primary": "#FFFFFF",
"color-primary-dark":"#FF0000"
}
它可以是任何颜色。在下一个屏幕上,收到的颜色应该应用于视图(如主题)。颜色会影响背景、文本颜色等。
所做的事情: 拥有一组有限的主题并不能解决问题,因为我们可以接收随机的颜色组合。
简单的解决方案是使用BaseActivity 或BaseView 之类的东西,它们在每个具有特殊自定义属性的视图上应用颜色。
问题:我怎样才能更方便地做到这一点?试图找到解决方案一周 - 没有结果:(请帮助我
【问题讨论】:
-
不确定,你在问什么,但它是不是类似于根据假设生成自动颜色假设图像具有红色基础,所以它将生成一个红色调色板并应用于文本颜色等视图和背景颜色?
-
嗨,@Sam。一点也不,我有存储在网络上的颜色集。颜色键是预定义的并且始终相同(
"color-primary"、"color-primary-dark"、"color-accent"等),但值不同。我想像 Android 主题那样做。这意味着,一旦我从 JSON 获得颜色集,我希望我的应用程序使用工具栏的原色,系统栏的深色原色,应用程序中所有按钮的强调色,所有标签的文本颜色应用等 -
我认为你需要一个 App 主题引擎。浏览这个 repos..github.com/afollestad/aesthetic 和 github.com/garretyoder/Colorful。主要概念来自这个 repo 你也可以如果你想要github.com/garretyoder/app-theme-engine
-
完成此操作后,您必须根据存储在 Web 中的值设置该强调色、原色。我个人使用 App-Theme-engine 设置不同的主题颜色,它已停产,但它就像一个魅力
-
谢谢你,@Sam!尽管这些库已停产,但它们对我帮助很大!
标签: android user-interface mobile