美文网首页Android
shape样式开发详解

shape样式开发详解

作者: 瑟闻风倾 | 来源:发表于2021-04-26 16:32 被阅读0次

    shape的作用:用于自定义样式,实现渐变、圆角,边框等效果

    shape开发样式
    为button添加红色边框和透明底色

    1. shape标签属性

    在 drawable 文件夹下新建.xml资源文件,然后根节点改为shape

    属性名 作用 示例 备注
    solid 设置填充颜色
    padding 设置内容和控件边缘的间隙
    corners 设置圆角
    gradient 梯度,用来设置渐变效果
    stroke 设置边框 $2000 $3000
    size 设置大小 $3000 $3000

    (1) solid:color属性值可以是 #00a9e2 这种当场选择的,也可以是在color资源文件中事先定义好的

    <solid android:color="#00a9e2"/>
    
    <solid android:color="@color/blue"/>   
    

    (2) padding:padding属性就和控件里的padding一样,在shape中设置了padding,则控件设置的padding属性就会自动生效

    <padding android:bottom="20dp"/> 
    

    (3) corners:如果设置半径大于等于控件的一半,则两个圆角就相当于合并成一个半圆了

     <corners android:radius="6dp"/>
    
    <corners android:topLeftRadius="8dp"/> 
    

    (4) gradient:设置里面的startColor,centerColor和endColor属性,系统就会帮你实现颜色的平滑过渡,从而实现渐变

    <gradient android:startColor="@color/blue_1" 
              android:endColor="@color/blue_2"/>
    
    • angle属性:系统默认是从左往右填充颜色的,可以用angle属性控制填充的角度,但是要注意angle里面只能填45,90,135,-45等等,这些45的倍数的数字,否则角度无效
    • type属性:在type属性中有3中方式可选,分别是linear、radial和sweep;gradientRadius表示扩散半径
      • linear线性渐变:也就是默认情况下的type
      • radial放射性渐变:从中间向四周扩散
      • sweep顺时针渐变:从0度开始顺时针扫过一圈
    android:type="radial"
    android:gradientRadius="24dp"
    

    (5) stroke:dashGap设置虚线框效果中空隙的长度;dashWidth设置虚线框效果中每一段的宽度

     <stroke android:color="@color/blue_1"
            android:width="4dp"
            android:dashGap="6dp"
            android:dashWidth="8dp"/>
    

    (6) solid:大小

    相关文章

      网友评论

        本文标题:shape样式开发详解

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