繁体   English   中英

从 Android 中的用户输入动态更改主题

[英]Change Theme Dynamically from User Input in Android

我正在构建一个材料设计游乐场,可以在可用的预定义主题之间切换,这些主题可以将颜色、排版和形状应用于整个应用程序的所有材料设计组件。

现在,用户可以从 PreferenceScreen 中选择可用的主题:

在此处输入图片说明

我有一个新的要求,应该允许用户输入一个值(例如设置 colorPrimary 的颜色)。 从输入中,我想直接修改主题,以便它可以在应用程序中应用更改。

我怎样才能做到这一点? 我正在考虑为用户提供如下选项:

在此处输入图片说明

这是我的示例材料设计游乐场应用程序的链接:https ://github.com/ciscosoriano/material-design-dynamic-theming

好像你需要这样的东西android-how-to-change-application-theme-programmatically

链接:android-how-to-change-application-theme-programmatically

这应该很容易,那里有很多教程,不要忘记结帐

基本上你需要做的是:

  1. 在启动活动之前像往常一样应用静态定义的主题(在资源/值中)。
  2. 现在在启动活动时获取用户输入
  3. 然后使用适当的 api 获取当前主题属性并在程序中动态重新着色 ui 控件。
  4. 使用更新的主题重新启动活动。

更多链接: 动态设置主题颜色

您应该能够轻松处理活动生命周期以在设置时查看更新的主题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM