这听起来可能很愚蠢,但我可以想出支持和反对的理由。
我应该将这两种颜色从可绘制的/shape.xml渐变重构为colors.xml吗?
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#CCCCCC"
android:angle="270" />
<stroke
android:width="3dp"
color="@color/transparent" />
<corners
android:radius="13dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>将它保存在drawable/shape.xml中表明它是一个实体(一个按钮),并允许它在一个地方保持安全。如果我正在创建一个主题或样式,将其移动到colors.xml允许与其他资源共享这些颜色?但是,在查看colors.xml时,我如何知道它们组合在一起会产生渐变颜色呢?
有没有人有意见,我希望我已经添加了足够多的思考过程,以引发一些辩论。
发布于 2011-05-24 23:46:30
我想说的是,一般来说,你应该提取颜色资源,但要确保它们的命名合乎逻辑。
例如,如果你有像accent_color_1和accent_color_1_darker这样的东西,人们应该假设应用程序中使用的这两种颜色之间可能存在色带。但是,对于您来说,从accent_color_1和accent_color_2等颜色渐变的意义就不大了。
然而,归根结底,这只是个人或团队偏好的问题。
发布于 2011-05-24 23:44:08
我更喜欢在单独的xml文件中定义所有颜色。
除了能够在其他资源中使用它们之外,您还可以为每种颜色指定一个描述其用途的名称。因此,当您查看您的形状代码时,您将读取一些有意义的内容,而不是一些神秘的十六进制字符。
如果你能确保你只在一个地方使用特定的颜色,我想这只是一个品味问题。
https://stackoverflow.com/questions/6112973
复制相似问题