美文网首页
android shape文件各个属性详解

android shape文件各个属性详解

作者: 眺望天空 | 来源:发表于2019-07-29 14:43 被阅读0次

    shape在开发中经常使用,不难但功能强大,为了便于查找相关属性 特此记录。

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:dither="false|true"             //将在位图的像素配置与屏幕不同时(例如:ARGB 8888 位图和 RGB 565 屏幕)启用位图的抖动;值为“false”时则停用抖动。默认值为 true。
        android:shape="rectangle|line|oval|ring"//分别为矩形、线、椭圆、环。默认为矩形rectangle
        // 以下4个属性只有当类型为环形时才有效
        android:innerRadius="integer"           // shape为ring时可用,内环半径
        android:innerRadiusRatio="float"        // shape为ring时可用,内环的厚度比,即环的宽度比表示内环半径,默认为3,可被innerRadius值覆盖
        android:thickness="integer"             // shape为ring时可用,环的厚度
        android:thicknessRatio="float"          // shape为ring时可用,环的厚度比,即环的宽度比表示环的厚度,默认为9,可被thickness值覆盖
        android:tint="color"                    // 给shape着色
        android:tintMode="src_in|src_atop|src_over|add|multiply|screen" // 着色类型
        android:useLevel="false|true"           // 较少用,一般设为false,否则图形不显示。为true时可在LevelListDrawable使用
        android:visible="false|true" 
        >
        <!-- 圆角 -->
        <corners
            android:radius="integer"            // 圆角半径,该值设置时下面四个属性失效
            android:bottomLeftRadius="integer"  // 左下角圆角半径
            android:bottomRightRadius="integer" // 右下角圆角半径
            android:topLeftRadius="integer"     // 左上角圆角半径
            android:topRightRadius="integer"    // 右上角圆角半径
            />
        <!-- 渐变 -->
        <gradient
            android:useLevel="false|true"       // 与上面shape中该属性的一致
            android:type="linear|radial|sweep"  // 渐变类型,分别为线性、放射性、扫描性渐变,默认为线性渐变linear
            android:angle="integer"             // 渐变角度,当上面type为线性渐变linear时有效。角度为45的倍数,0度时从左往右渐变,角度方向逆时针
            android:centerColor="color"         // 渐变中间位置颜色
            android:startColor="color"          // 渐变开始位置颜色
            android:endColor="color"            // 渐变结束位置颜色
            android:centerX="float"             // type为放射性渐变radial时有效,设置渐变中心的X坐标,取值区间[0,1],默认为0.5,即中心位置
            android:centerY="float"             // type为放射性渐变radial时有效,设置渐变中心的Y坐标,取值区间[0,1],默认为0.5,即中心位置
            android:gradientRadius="integer"    // type为放射性渐变radial时有效,渐变的半径
            />
        <!-- 内边距 -->
        <padding
            android:bottom="integer"  // 设置底部边距
            android:left="integer"    // 左边边距
            android:right="integer"   // 右边
            android:top="integer"     // 顶部
        />
        <!-- 大小 -->
        <size
            android:height="integer"  // 宽度
            android:width="integer"   // 高度
            />
        <!-- 填充 -->
        <solid
            android:color="color"     // shape的填充色
            />
        <!-- 描边 -->
        <stroke
            android:color="color"       // 描边的颜色
            android:width="integer"     // 描边的宽度
            android:dashGap="integer"   // 虚线间隔
            android:dashWidth="integer" // 虚线宽度
        />
    </shape>
    

    相关文章

      网友评论

          本文标题:android shape文件各个属性详解

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