首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓重构-最佳实践-可绘制的形状和colors.xml

安卓重构-最佳实践-可绘制的形状和colors.xml
EN

Stack Overflow用户
提问于 2011-05-24 23:35:07
回答 2查看 1.2K关注 0票数 2

这听起来可能很愚蠢,但我可以想出支持和反对的理由。

我应该将这两种颜色从可绘制的/shape.xml渐变重构为colors.xml吗?

代码语言:javascript
复制
<?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应用程序的Sourcelinky,看看谷歌员工做了什么,但我找不到他们创建任何形状。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-24 23:46:30

我想说的是,一般来说,你应该提取颜色资源,但要确保它们的命名合乎逻辑。

例如,如果你有像accent_color_1accent_color_1_darker这样的东西,人们应该假设应用程序中使用的这两种颜色之间可能存在色带。但是,对于您来说,从accent_color_1accent_color_2等颜色渐变的意义就不大了。

然而,归根结底,这只是个人或团队偏好的问题。

票数 1
EN

Stack Overflow用户

发布于 2011-05-24 23:44:08

我更喜欢在单独的xml文件中定义所有颜色。

除了能够在其他资源中使用它们之外,您还可以为每种颜色指定一个描述其用途的名称。因此,当您查看您的形状代码时,您将读取一些有意义的内容,而不是一些神秘的十六进制字符。

如果你能确保你只在一个地方使用特定的颜色,我想这只是一个品味问题。

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

https://stackoverflow.com/questions/6112973

复制
相关文章

相似问题

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