当前位置: 首页 > 知识库问答 >
问题:

如何通过代码动态更改主题

谷梁昊空
2023-03-14

我已经为我的应用程序实现了材质设计,我希望用户能够自定义colorPrimary、colorPrimaryDark和colorAccent的颜色。怎么做?

我想有一个设置活动,用户可以选择自己的颜色,更改将应用于我的所有活动。谢谢

<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

共有1个答案

桂玉石
2023-03-14

根据您是否允许用户从静态颜色列表或颜色选择器中进行选择,您可以保存他们在SharedReferences中选择的颜色,并在应用程序启动时将其拉出。不幸的是,这意味着您必须通过代码而不是xml来设置所有视图的颜色,因为主题是不可变的。看看这篇文章:如何通过编程改变AndroidLollipop的主色和强调色?您可以采用devconsole答案中的方法;https://stackoverflow.com/a/37905131/3314615

 类似资料:
  • 根据 https://stackoverflow.com/a/13329907/3286489,我们可以更改 TextView 的字体系列。但是我如何使用 Java 代码进行设置呢?我找不到 API。

  • 我在Vaadin7做一个项目。因为我需要改变一个页面的主题。 但在Vaadin 7里,我找不到这样的。 我知道会有办法做到的。 以及当我更改主题时如何在UI上应用更改?

  • 我刚刚在我的窗口中安装了代码锁。当我启动应用程序时,我们编写代码的屏幕背景是白色的。我喜欢黑色或其他任何颜色。我不确定我们是否可以改变颜色/主题或添加更多的主题。

  • 该怎么修改代码 验证通过

  • 问题内容: 该代码不起作用 问题答案: JavaScript区分大小写。 因此,如果要更改字体大小,则必须执行以下操作:

  • 我需要有关如何更改通过DocuSign向收件人发送电子邮件时显示的名称的帮助。我使用的是REST API,我复制了DocuSign的一个示例。我可以更改电子邮件主题,但我不知道top如何更改电子邮件正文中的[名称]。下面是一个如何更改电子邮件主题的示例。我正在使用c#Web开发。 这些是我想改变的,任何有[名字的东西]: [姓名]通过docusign 提前谢谢你。