Android学习—Shape

Shape Drawable 
  An XML file that defines a geometric shape, including colors and gradients.一个定义几何形状的XML文件,包括颜色和渐变。

简介  

  作用:XML中定义的几何形状

  位置:res/drawable/文件的名称.xml

  使用的方法:

    Java代码中:R.drawable.文件的名称

    layout中:android:background=”@drawable/文件的名称”

属性

  <shape>  android:shape=[“rectangle” | “oval” | “line” | “ring”]

  其中,rectagle:矩形,oval:椭圆,line:水平直线,ring:环形

子元素  

  <corners> :指定边角的半径,简单的说,数值越大角越圆,数值越小越趋近于直角,参数为:

      1. android:radius="integer"

      2. android:topLeftRadius="integer"   <!--左上角-->

      3. android:topRightRadius="integer"  <!--右上角-->

      4. android:bottomLeftRadius="integer"   <!--右下角-->

      5. android:bottomRightRadius="integer" <!--左下角-->

    android:radius直接指定4个角的半径,另外4个属性可以单独设置

  <gradient> :设置颜色渐变    

      1. android:angle="integer"    设置渐变的角度,数值必须为45的倍数,默认为0,即从左到右渐变。当值为90时,从下到上渐变,以此类推当值为180时,从右往左渐变; 为270时从上向下渐变。   

      2. android:centerX="integer"   渐变的水平中心点,值为0-1.0   

      3. android:centerY="integer"   渐变的垂直中心点,值为0-1.0   

      4. android:centerColor="integer"   中心的颜色,非必须   

      5. android:startColor="color"  开始渐变时的颜色  

      6. android:endColor="color"    结束渐变时的颜色   

      7. android:gradientRadius="integer"   渐变的半径,仅适用于android:type="radial"时;(径向渐变需要指定半径)

      8. android:type=["linear" | "radial" | "sweep"]   渐变的类型,分别为线状、中心放射状、经测试类似于雷达扫描的一种形态

      9. android:usesLevel=["true" | "false"]   貌似是可以被当做level-list用的意思

  <padding> :为内容或子标签设置边距,4个属性top、bottom、left、right,需要注意的是这个标签的作用是为内容与当前应用此shape的View的边距,而不是设置当前View与父元素的边距。

  <size>: 设置背景大小,width和height两个属性

  <solid> :只有一个属性,即color,设置整个背景的颜色,如果已经定义了渐变色,那么这个属性就无效了;

  <stroke>:描边,即设置边框    

      1. android:width="integer"   描边的宽度   

      2. android:color="color"    描边的颜色   

      3. android:dashWidth="integer"  必须与下面的dashGap搭配使用缺一不可,也就是说可以两个属性都不用,如果用,两个都必须得用。那么这哥俩有什么作用呢?   

      4. 原来是可以实现边框分段的效果,前者指定每段的长度后者指定两端之间的间隙或者说距离。 

      5. android:dashGap="integer"  

实例:

先看下面的代码: 
复制到剪贴板 XML/HTML代码 
<shape>

  <!-- 实心 -->  
  <solid android:color="#ff9d77"/>

  <!-- 渐变 -->

  <gradient  
    android:startColor="#ff8c00"

    android:endColor="#FFFFFF"

    android:angle="270" />

  <!-- 描边 -->

  <stroke  
    android:width="2dp"  
    android:color="#dcdcdc" />

  <!-- 圆角 -->

  <corners

    android:topRightRadius="20dp" 右上角

    android:bottomLeftRadius="20dp" 右下角

    android:topLeftRadius="1dp" 左上角

    android:bottomRightRadius="0dp" 左下角

  />

  <padding  
    android:left="10dp"

    android:top="10dp"

    android:right="10dp"

    android:bottom="10dp" />

</shape>

 

时间: 2024-08-07 11:49:40

Android学习—Shape的相关文章

Android学习系列(17)--App列表之圆角ListView(续)

http://www.cnblogs.com/qianxudetianxia/archive/2011/09/19/2068760.html 本来这篇文章想并到上篇Android学习系列(16)--App列表之圆角ListView中的,但是若是如此就让大家错过一篇新的好的文章,着实可惜.上篇中我们使用shape,corners,gradient实现了一个渐变的圆角效果,但是在完文之后的实践中,我发现有时效果不甚满意,选中和放手的事件监听没有去正确的判断,然后渐变效果也比较单一,性能也觉得不是很快

十三、Android学习笔记_Andorid控件样式汇总

<!-- 设置activity为透明 --> <style name="translucent"> <item name="android:windowBackground">@color/translucent</item> <item name="android:windowIsTranslucent">true</item> <item name="an

Pro Android学习笔记(三):了解Android资源(上)

在Android开发中,资源包括文件或者值,它们和执行应用捆绑,无需在源代码中写死,因此我们可以改变或替换他们,而无需对应用重新编译. 了解资源构成 参考阅读Android学习笔记(三八):资源resource(上).XML解析(XmlPullParser),Android学习笔记(三九):资源resource(下). Strings资源.位于res/values下,可以有一个或多个xml文件.其中最为常见的是strings.xml,对于demo这类小例子,为了方便常全部都放在strings.x

【转】Pro Android学习笔记(三):了解Android资源(上)

在Android开发中,资源包括文件或者值,它们和执行应用捆绑,无需在源代码中写死,因此我们可以改变或替换他们,而无需对应用重新编译. 了解资源构成 参考阅读Android学习笔记(三八):资源resource(上).XML解析(XmlPullParser),Android学习笔记(三九):资源resource(下). Strings资源.位于res/values下,可以有一个或多个xml文件.其中最为常见的是strings.xml,对于demo这类小例子,为了方便常全部都放在strings.x

Android学习笔记_75_Andorid控件样式汇总

<!-- 设置activity为透明 --> <style name="translucent"> <item name="android:windowBackground">@color/translucent</item> <item name="android:windowIsTranslucent">true</item> <item name="an

2015最新Android学习线路图

Android是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google和开放手持设备联盟开发与领导.据2011年初数据显示仅正式上市两年的操作系统Android已经跃居全球最受欢迎的智能手机平台,一些没有接触过Android知识又想学习Android开发的人,看到一行行密密麻麻的代码会感觉到压力,失去学习的信心.其实Android开发并没有想象中那么可怕,通过Android学习的路线图可以让我们明确的规划每一阶段的学习内容. Android学习线路:http://www.mob

Android学习笔记_81_Android ProgressDialog 各种效果

1,弹出Dialog 屏幕不变暗. 创建一个样式就OK了:在styles.xml文件里添加样式: 1, <style name="dialog" parent="@android:style/Theme.Dialog">        <item name="android:windowFrame">@null</item>边框        <item name="android:window

Android 学习资料分享(2015 版)

我是如何自学Android,资料分享(2015 版) Tikitoo2015.02.11 10:21 1713 字 3932 次阅读 自己学了两三个月的Android,最近花了一周左右的时间写了个App--Diigoer(已开源),又花了一两周时间找工作,收到了两个Offer,也算是对自己学习的一种认可吧:我刚开始学习总结的--<我是如何自学Android,资料分享>,如果是初学Android 的话,不应该错过的,而今天这篇分享好这篇文章,相对于第一次写的会有所提升,所以建议先把上一篇看了,再

android学习路线:如何成长为高级工程师

博主参加了2014 CSDN博客之星评选,帮我投一票吧.点击给我投票前言之所以写这篇文章,是因为最近博客和我的开发群( 215680213 )中,不少小伙伴都让我讲讲android学习路线,所以我决定写一篇博客,来说明这个问题.既然有不少小伙伴来咨询这个问题,说明大家都还是想快速地提高技术,毕竟技术的提高是职业发展中不可或缺的一步,技术好了,才能得到认可,才能升职加薪.一般来说,快速提高技术是不太容易的,但是通过正确的方法加上辛勤的汗水是可以缩短这个过程的.或许有人会问,你凭什么来写这个学习路线