我有一种强调色,我在整个布局中使用它.我把它定义为我应用于TextView的样式.
我的应用程序允许用户在黑暗主题和浅色主题之间进行选择.我想根据所选主题调整强调色.
我应该如何根据所选主题控制我的强调色?
开发指南提供了一个使用自定义颜色的主题示例,它接近我想要的.我需要能够在运行时更改颜色.我知道我可以进入我的代码和X使用这种风格的地方我可以把组件磨掉并按照这种方式设置颜色.但我认为我可以通过风格/主题的某种组合来实现这一目标.
谢谢
我解决这个问题的方法是创建 android.widget.TextView 的子类。我创建了一个 TextViewAccented 和一个 TextViewWarning。我在 XML 中使用这些 TextView,其中需要强调色或警告色。我从 XML 中删除了所有颜色引用。
子类包含三个默认构造函数。所有三个构造函数都调用一个名为 setColor() 的私有方法。setColor() 然后检查所选主题,并可以根据当前所选主题使用所需的阴影。
这是一个相当干净的机制,但很难相信我不能在主题中编写它。这似乎正是主题应该有的用途。
| 归档时间: |
|
| 查看次数: |
4185 次 |
| 最近记录: |