美文网首页
xml资源以及图片文件命名规范的一些思考

xml资源以及图片文件命名规范的一些思考

作者: ChenME | 来源:发表于2020-05-14 09:17 被阅读0次

    1. 思考:

    在多人协同开发 Android 项目时,在导入资源文件或者是图片时,经常会遇到一个问题:一模一样的资源文件被多个人创建了多次,或者是同样一个图片文件被导入多次,造成了资源文件冗余的问题。其主要的原因就是每个人都有自己一套的命名规则,或者是根本没有自己的命名规则,完全凭心情任意命名。所以在这里我根据自己工作中的经验,简单的规范了一套命名规则,方便自己后期查阅。


    2. 命名规则:

    1. 形状命名规则;

    [A]:形状名称_填充色名称_填充色值_s描边线宽(含有小数点用p标识)_描边色名称_描边色值_r圆角大小_圆角方向(先左右,后上下)
    // 左上角10dp圆角 纯白色 红色(#fff639b)描边(线宽0.5dp) 
    corner_white_s0p5_red_ff639b_r10_left_top
    

    形状前缀:

    oval - 圆形(shape="oval")
    corner - 圆角矩形(shape="rectangle")
    rect - 无圆角矩形(shape="rectangle")
    line - 线性(shape="line")
    line_dash - 虚线(shape="line")
    

    2. 图层的命名规则

    以 形状命名规则 为基础,前面添加 layer 即可,一般自取第一层即可

    <!--
        规则:layer_[A]
        
        举例:
        第一层:20dp圆角 无填充色 2.5dp绿色(0feaa9)描边
        第二层:20dp圆角 无填充色 1.5dp纯白描边
        命名:layer_corner_s2p5_green_0feaa9_r20
    -->
    
    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape android:shape="rectangle">
                <corners android:radius="20dp" />
                <stroke
                    android:width="4dp"
                    android:color="@android:color/white" />
            </shape>
        </item>
        <item>
            <shape android:shape="rectangle">
                <corners android:radius="20dp" />
                <stroke
                    android:width="2.5dp"
                    android:color="#0feaa9" />
            </shape>
        </item>
    </layer-list>
    

    3. 图片命名规则;

    [B]:图片样式_图片特点(填充省略,镂空empty)_主色名称_(对于多个相近主色名称的,可以在此加入主色的色值,正常省略)_图片宽度x图片高度(在1x下面的尺寸(也即 mdpi 下的图片),正方形省略高度)
    // 1x 30*30 的白色镂空加号
    add_empty_white_30
    

    关于图片 dp 和 px 之间的对应关系,可参照 Android系统屏幕密度

    4. 样式或图片selector命名规则;

    1. 以选中状态的主色作为命名中的颜色名称;
    2. 分别在 规则1 和 规则2 的前面加selector
    selector_[A]
    // 选中:左上角10dp圆角 纯白色 红色(#fff639b)描边(线宽0.5dp) 
    // 正常:左上角10dp圆角 灰色(#cdcdcd) 红色(#fff639b)描边(线宽0.5dp) 
    selector_corner_white_s0p5_red_ff639b_r10_left_top
    
    selector_[B]
    // 选中:1x 30*30 的白色镂空加号
    // 正常:1x 30*30 的灰色镂空加号
    selector_add_empty_white_30
    

    5. 文字selector命名规则;

    [C]:ts_s_选中色值_n_正常色值_u_不可用色值
    
    ts_s_333333_n_666666_u_cdcdcd
    

    6. 渐变命名规则;

    [D]:gradient_梯度类型_start颜色_center颜色(不存在使用_代替)_end颜色_角度(只有 linear 有,负数前加 _)_c中心点坐标(radial 和 sweep)_r半径(只有 radial 有)
    
    // 梯度类型
    line - 线性(type="linear")
    radial - 径向(type="radial",此时角度无效不写)
    sweep - 扫描(type="sweep",此时角度无效不写)
    
    1. 线性示例:
    <!--
        线性 角度 -45
        命名:gradient_linear_fdd3a0_ff639b_1b85ed__45
    -->
    
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <gradient
            android:type="linear"
            android:startColor="#FDD3A0"
            android:endColor="#1B85ED"
            android:centerColor="#FF639B"
            android:angle="-45"/>
    </shape>
    
    1. 径向示例:
    <!--
        径向 中心点(0.7, 0.8)半径 210dp
        命名:gradient_radial_fdd3a0_ff639b_1b85ed_c0708_r210
    -->
    
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <gradient
            android:type="radial"
            android:startColor="#FDD3A0"
            android:endColor="#1B85ED"
            android:centerColor="#FF639B"
            android:centerX="0.7"
            android:centerY="0.8"
            android:gradientRadius="210dp" />
    </shape>
    
    1. 扫描示例:
    <!--
        扫描 中心点(0.7, 0.8)
        命名:gradient_sweep_fdd3a0_ff639b_1b85ed_c0708
    -->
    
    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <gradient
            android:type="sweep"
            android:startColor="#FDD3A0"
            android:centerColor="#FF639B"
            android:endColor="#1B85ED"
            android:centerX="0.7"
            android:centerY="0.8"/>
    </shape>
    

    相关文章

      网友评论

          本文标题:xml资源以及图片文件命名规范的一些思考

          本文链接:https://www.haomeiwen.com/subject/nryznhtx.html