zoukankan      html  css  js  c++  java
  • Android shape

    该配置文件放在res/drawable目录下,以一个Button为例-定义了按钮的一般状态、获得焦点状态和按下时的状态

    button_selector.xml
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" >
            <shape>
                <!-- 渐变 -->
                <gradient
                    android:startColor="#ff8c00"
                    android:endColor="#FFFFFF"
                    android:type="radial"
                    android:gradientRadius="50" />
                <!-- 描边 -->
                <stroke
                    android:width="2dp"
                    android:color="#dcdcdc"
                    android:dashWidth="5dp" 
                    android:dashGap="3dp" />
                <!-- 圆角 -->
                <corners
                    android:radius="2dp" />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
        </item>
    
        <item android:state_focused="true" >
            <shape>
                <gradient
                    android:startColor="#ffc2b7"
                    android:endColor="#ffc2b7"
                    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>
        </item>
    
        <item>       
            <shape>
                <solid android:color="#ff9d77"/>
                <stroke
                    android:width="2dp"
                    android:color="#fad3cf" />
                <corners 
                    android:topRightRadius="5dp"
                    android:bottomLeftRadius="5dp"
                    android:topLeftRadius="0dp"
                    android:bottomRightRadius="0dp"
                />
                <padding
                    android:left="10dp"
                    android:top="10dp"
                    android:right="10dp"
                    android:bottom="10dp" />
            </shape>
        </item>
    </selector>

    相关属性说明:
      solid:实心,就是填充的意思
      android:color指定填充的颜色

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

      stroke:描边
      android:width="2dip" 描边的宽度,android:color 描边的颜色。
      虚线的形式描边-设置方式为:
        android:dashWidth="5dip" 
        android:dashGap="3dip"
      其中android:dashWidth表示一个横线的宽度,android:dashGap表示之间隔开的距离

      corners:圆角
      android:radius为角的弧度,值越大角越圆
      可以把四个角设定成不同的角度,方法为:
      <corners 
            android:topRightRadius="20dp"    右上角
            android:bottomLeftRadius="20dp"    右下角
            android:topLeftRadius="1dp"    左上角
            android:bottomRightRadius="0dp"    左下角
       />
      注意,bottomLeftRadius是右下角,而不是左下角

      padding:间隔
      内间距

  • 相关阅读:
    ACM学习
    吴翼大神
    心急的C小加(两种解法)
    万圣节派对(水题)
    poj 1163 The Triangle
    POJ 1088滑雪
    1690 开关灯
    908. 校园网
    STL之stack栈
    1163 访问艺术馆
  • 原文地址:https://www.cnblogs.com/wen12128/p/2714215.html
Copyright © 2011-2022 走看看