首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据主题设置颜色

根据主题设置颜色
EN

Stack Overflow用户
提问于 2012-02-02 18:15:04
回答 1查看 5K关注 0票数 16

我有一个口音的颜色,我用在我的布局。我将其定义为应用于TextView的样式。

我的应用程序允许用户在暗主题和轻主题之间进行选择。我想根据选定的主题调整重音颜色。

  • 您不能在主题
  • 中定义颜色,您不能根据主题
  • 定义状态列表颜色,您不能根据主题(对于版本或屏幕大小)
  • 来分离资源,您不能从代码中更新资源颜色(?)而不是100%的

如何根据选定的主题控制我的重音颜色?

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

谢谢

EN

回答 1

Stack Overflow用户

发布于 2012-02-07 20:50:28

我解决这个问题的方法是创建android.widget.TextView的子类。我创建了一个TextViewAccented和一个TextViewWarning。我在XML中使用这些TextViews,这里需要重音或警告颜色。我从XML中删除任何颜色引用。

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

这是一个相当干净的机制,但很难相信我不能在主题中编码。这似乎正是主题应该达到的目的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9117654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档