如何解决Android重构-最佳实践-可绘制shape和colors.xml
|| 这听起来可能很愚蠢,但是我可以想到赞成和反对的理由。 我是否应该将我的drawable / 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时,我怎么知道它们结合在一起构成渐变色?
有没有人有意见,我希望我已经添加了足够多的过程来引发一些辩论。
我尝试查看IO Sched应用程序的Source:链接以查看Google Employee的工作,但找不到它们创建任何形状。
解决方法
我想说,一般来说,您应该提取颜色资源,但是请确保按逻辑命名。
例如,如果您有诸如
accent_color_1
和accent_color_1_darker
之类的内容,则应假定应用中使用的这两种颜色之间可能存在色带变化。但是,从accent_color_1
和accent_color_2
之类的颜色进行渐变会变得没有意义。
不过,归根结底,这实际上只是个人或团队偏好的问题。
,我更喜欢在单独的xml文件中定义所有颜色。
除了可以在其他资源中使用它们之外,您还可以为每种颜色命名,以描述其用途。因此,当您查看形状代码时,您将读到有意义的内容,而不是一些奥秘的十六进制字符。
如果您可以确保只在一个地方使用该特定颜色,那么我想这只是一种口味问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。