首页 > 代码库 > shape资源介绍

shape资源介绍

在android中使用shape资源来定义一个形状. 可以减小安装包大小, 在 Eclipse 中创建 xml 的时候, 选 drawable, 放在 drawable 目录中. 如下图所示 技术分享
技术分享
 下面有一个矩形的例子
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <!-- 圆角弧度 -->
    <corners android:radius="30dip" />
    <!-- 渐变色 -->
    <gradient 
        android:startColor="#ffff00"
        android:endColor="#00ffff00"/>
    <!-- 固定颜色, 不可以和gradient一起使用 -->
    <!-- <solid android:color="#ffffd300" /> -->
    <!-- 内边距 -->
    <padding
        android:left="20dip"
        android:top="20dip" />
    <!-- 边框 -->
    <stroke
        android:dashGap="20dip"
        android:dashWidth="10dip"
        android:width="3dip"
        android:color="#0000ff" />
    <!-- 一般不指定size, 让它自适应控件大小 -->
    <!-- <size /> -->
</shape>
注意: 
1. shape 元素的 android:shape 只有四个值: rectangle, line, oval(椭圆), ring(环)
2. corners 这个元素只对 rectangle 有效.
3. oval, 如果宽和高指定的一样, 就是正圆

以下来自网上: 
shape的属性:每个状态(item)都对应着一个效果,shape是用来定义形状的,以下为shape的一些常见属性:
1. size, 大小, 只有 width, height 两个属性.
    
2、solid:实心,就是填充的意思
       android:color指定填充的颜色

3、gradient:渐变
       android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。当angle=0时,渐变色是从左向
       右。 然后逆时针方向转,当angle=90时为从下往上。另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,
       android:type="radial",径向渐变需要指定半径android:gradientRadius="50",也可一指定二者的综合,扫描渐变 android: type="sweep"

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

5、corners:圆角
       android:radius为角的弧度,值越大角越圆。
       我们还可以把四个角设定成不同的角度,方法为: 
                android:topRightRadius="20dp" 右上角
                android:bottomLeftRadius="20dp" 右下角
                android:topLeftRadius="1dp" 左上角
                android:bottomRightRadius="0dp" 左下角
       这里有个地方需要注意,bottomLeftRadius是右下角,而不是左下角
       
      6、panding:内边矩


来自为知笔记(Wiz)


shape资源介绍