Android组合或继承颜色

Android组合或继承颜色,android,android-xml,Android,Android Xml,在Android中是否有可能继承或组合颜色值 例如: <color name="my_general_focused_color">#ff0000</color> <color name="my_semi_transparent_focused_color"> @color/my_general_focused_color ^ #44000000 </color> #ff0000 @颜色/我的(通用)聚焦(颜色)44000000 这里

在Android中是否有可能继承或组合颜色值

例如:

<color name="my_general_focused_color">#ff0000</color>
<color name="my_semi_transparent_focused_color">
    @color/my_general_focused_color ^ #44000000 
</color>
#ff0000
@颜色/我的(通用)聚焦(颜色)44000000
这里的结果将是两种颜色的异或,如
my_semi_transparent_focused_color==#44ff0000


有什么想法吗?备选方案?:)

不幸的是,XML级别上没有算术运算。它们在其他环境中也很有用,但它们不可用。当然,您可以通过编程方式完成这项工作,并在
Application.onCreate()
中计算所有派生值,然后将它们存储在那里,但是,您还必须通过编程方式分配它们。但如果您想在更大范围内部署它,那么我会尝试通过编译时XSLT预处理Android XML资源文件来实现。。。不过我还没试过。谢谢。这就是我害怕的。抓住这里的救命稻草:)我不太热衷于在编译时预处理XML。这个过程已经够不稳定/不可靠了。从代码中执行此操作会使读取样式变得困难,并可能导致错误。也许延长aapt。。。听起来像是一个更大的项目。。。而对于SDK更新来说,这也不理想。在这里大声思考:)你是对的,维护XSLT的参与可能并不有趣。另一种方法是使用带有静态辅助函数的
SmartViews
类,然后轻松派生
SmartTextView
SmartImgView
等内部类,这些类部署辅助方法,从新引入的属性(为其提供解析器)计算颜色。一旦建立了helper方法,对所有Android
View
类进行子类化可能只需要几行代码就可以进行扩展和构造了。这可能会起作用,但我认为这对于我的特定目的来说太过分了。我有500多个视图和许多自定义视图:-/这取决于您的判断。它是否付费似乎取决于不同颜色的数量,换句话说,就是改变所有手动衍生颜色的努力。不管怎样,我刚开始喜欢解析器的想法。也许有一天我会这么做不管怎样,祝你好运!