zoukankan      html  css  js  c++  java
  • android:shape

    <shape>  
        <!-- 填充, android:color指定填充的颜色 -->  
        <solid android:color="#ff9d77" />  
        <!-- 渐变,android:startColor和android:endColor分别为起始和结束颜色, android:angle是渐变角度,必须为45的整数倍。android:type渐变模式 -->  
        <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF"  
            android:angle="270" />  
        <!-- 描边 -->  
        <stroke android:width="2dp" android:color="#dcdcdc" />  
        <!-- 圆角 -->  
        <corners android:radius="2dp" />  
        <padding android:left="10dp" android:top="10dp" android:right="10dp"  
            android:bottom="10dp" />  
    </shape>  


    solid:实心,就是填充的意思
    android:color指定填充的颜色

    gradient:渐变
    android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。
    另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。

    stroke:描边
    android:width="2dp" 描边的宽度,android:color 描边的颜色。
    我们还可以把描边弄成虚线的形式,设置方式为:
    android:dashWidth="5dp"
    android:dashGap="3dp"
    其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。

    corners:圆角
    android:radius为角的弧度,值越大角越圆。
    我们还可以把四个角设定成不同的角度,方法为:

    <corners android:topRightRadius="20dp" 右上角  
        android:bottomLeftRadius="20dp" 右下角   
        android:topLeftRadius="1dp" 左上角  
        android:bottomRightRadius="0dp" 左下角 /> 

    这里有个地方需要注意,bottomLeftRadius是右下角,而不是左下角,这个有点郁闷,不过不影响使用,记得别搞错了就行。

    padding:间隔
    这个就不用多说了,XML布局文件中经常用到。

     效果图

      具体实现代码:

    <?xml version="1.0" encoding="utf-8"?>  
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >  
         <!-- 填充 -->
        <solid 
            android:color="#B2B2B2" 
            />  
           
        <!-- 大小 -->
        <size
            android:width="200dp"
            android:height="50dp"
            />   
        
         <!-- 渐变色 -->
        <gradient 
            android:startColor="#DBDCDD"
            android:endColor="#B8B9BB"
            android:centerColor="#ADADAF"
            android:angle="270"  
            />  
         
            
        <!-- 描边 -->
        <stroke 
            android:width="2dp"
            android:color="#3D4148"  
            />   
                
        <!-- 圆角 -->
        <corners  
           android:radius="5dp"  
            />  
         
        <padding 
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp"
            />  
        
    </shape>  
        
    <!--   
        
    1、  solid   
         描述:内部填充  
          属性     android:color 填充颜色  
        
        
    2、size   
         描述:size: 大小  
         属性:  
         android:width   表示形状的宽度  
         android:height 表示形状的高度  
        
    3、gradient  
             
          描述: 渐变色  
           
           属性:  
           android:startColor  起始颜色  
           android:endColor    结束颜色  
           android:angle       渐变角度(PS:当angle=0时,渐变色是从左向右。 然后逆时针方向转,当angle=90时为从下往上。angle必须为45的整数倍)  
           android:type       渐变类型(取值:linear、radial、sweep)  
                                linear  线性渐变,这是默认设置  
                                radial  放射性渐变,以开始色为中心。  
                                sweep   扫描线式的渐变。  
           android:centerColor  渐变中间颜色,即开始颜色与结束颜色之间的颜色  
           android:useLevel   如果要使用LevelListDrawable对象,就要设置为true。设置为true无渐变。false有渐变色  
           android:gradientRadius  渐变色半径.当 android:type="radial" 时才使用。单独使用 android:type="radial"会报错。  
           android:centerX    渐变中心X点坐标的相对位置  
           android:centerY   渐变中心Y点坐标的相对位置  
    4、stroke  
        
        描述: stroke:描边  相当于html中的盒子模型的border  
                
       属性:  
            android:width 描边的宽度  
            android:color 描边的颜色  
            android:dashWidth 表示描边的样式是虚线的宽度,  
                                                                 值为0时,表示为实线。值大于0则为虚线。  
            android:dashGap  表示描边为虚线时,虚线之间的间隔 即“ - - - - ”  
                
     5、corners  
         
             描述: corners: 圆角  
             
            属性:  
            android:radius  半径  
            android:topLeftRadius  左上角半径  
            android:topRightRadius  右上角半径  
            注意一下两个属性比较不同:  
            android:bottomLeftRadius 右下角半径  
            android:bottomRightRadius 左下角半径  
     6、padding  
                  
              描述:内部边距,即内容与边的距离  
                  
             属性:  
            android:left  左内边距  
            android:top   上内边距  
            android:right  右内边距  
            android:bottom 下内边距  
     -->

    源码下载

    本文出自 “Mr.Xu” 博客,请务必保留此出处http://xuzhiwei.blog.51cto.com/978424/972188



     

  • 相关阅读:
    (转载)C++ string中find() ,rfind() 等函数 用法总结及示例
    UVA 230 Borrowers (STL 行读入的处理 重载小于号)
    UVA 12100 打印队列(STL deque)
    uva 12096 The SetStack Computer(STL set的各种库函数 交集 并集 插入迭代器)
    uva 1592 Database (STL)
    HDU 1087 Super Jumping! Jumping! Jumping!
    hdu 1176 免费馅饼
    HDU 1003 Max Sum
    转战HDU
    hust 1227 Join Together
  • 原文地址:https://www.cnblogs.com/niray/p/3857244.html
Copyright © 2011-2022 走看看