gpt4 book ai didi

android - 根据主题设置颜色

转载 作者:IT老高 更新时间:2023-10-28 23:36:34 27 4
gpt4 key购买 nike

我在整个布局中都使用了强调色。我将其定义为应用于 TextView 的样式。

我的应用程序允许用户在深色主题和浅色主题之间进行选择。我想根据所选主题调整强调色。

  • 您不能在主题中定义颜色
  • 您不能根据主题定义状态列表颜色
  • 您不能根据主题来分离资源(就像版本或屏幕大小一样)
  • 您无法从代码中更新资源颜色(??? 不是 100% ???)

我应该如何根据所选主题控制我的强调色?

开发指南提供了一个使用自定义颜色的主题示例,这与我想要的很接近。我需要能够在运行时更改颜色。我知道我可以进入我的代码和使用这种样式的 X 位置,我可以找出组件并以这种方式设置颜色。但我认为我可以通过某种风格/主题的组合来实现这一点。

谢谢

最佳答案

我解决这个问题的方法是创建 android.widget.TextView 的子类。我创建了一个 TextViewAccented 和一个 TextViewWarning。我在我想要强调或警告颜色的 XML 中使用这些 TextView。我从 XML 中删除了所有颜色引用。

子类包含三个默认构造函数。所有三个构造函数都调用一个名为 setColor() 的私有(private)方法。 setColor() 然后检查选定的主题,并可以根据当前选定的主题使用所需的阴影。

这是一个相当干净的机制,但很难相信我不能在主题中编写它。这似乎正是主题的用途。

关于android - 根据主题设置颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9117654/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com