以前作图,一般有两种方式,首先是UI把图形设计好,我们直接贴,对于那些简单的图形,如矩形、扇形这样的图形,一般的系统的API会提供这样的接口,但是在Android下,有第三种画图方式,介于二者之间,结合二者的长处,如下的代码:
    <item android:id="@android:id/secondaryProgress">        <clip>                      <shape>                <corners android:radius="5dip" />                <gradient                        android:startColor="#0055ff88"                        android:centerColor="#0055ff00"                        android:centerY="0.75"                        android:endColor="#00320077"                        android:angle="270"                />            </shape>        </clip>    </item>


这是一个Progress的style里面的代码,描述的是进度条的为达到的图形,原本以为这是一个图片,后来仔细的跟踪代码,发现居然是xml,像这种shape corners gradient等等这还是第一次碰到。shape 表示是一个图形,corners表示是有半径为5像素的圆角,然后,gradient表示一个渐变。这样作图简单明了,并且可以做出要求很好的图形,并且节省资源

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">    <gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF"            android:angle="270"/>    <padding android:left="50dp" android:top="20dp"            android:right="7dp" android:bottom="7dp" />    <corners android:radius="8dp" />   </shape>

gradient 产生颜色渐变 android:angle 从哪个角度开始变 貌似只有90的整数倍可以
android:shape="rectangle" 默认的也是长方形

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">    <solid android:color="#ff4100ff"/>    <stroke android:width="2dp" android:color="#ee31ff5e"            android:dashWidth="3dp" android:dashGap="2dp" />    <padding android:left="7dp" android:top="7dp"            android:right="7dp" android:bottom="7dp" />    <corners android:radius="6dp" /></shape>


#ff4100ff蓝色#ff4100ff绿色
<solid android:color="#ff4100ff"/>实心的 填充里面
<stroke 描边 采用那样的方式将外形轮廓线画出来

android:dashWidth="3dp" android:dashGap="2dp" 默认值为0

android:width="2dp" android:color="#FF00ff00"笔的粗细,
android:dashWidth="5dp" android:dashGap="5dp" 实现- - -这样的效果,dashWidth指的是一条小横线的宽度
dashGap 指的是 小横线与小横线的间距。 width="2dp" 不能太宽

更多相关文章

  1. traceview进行Android性能测试
  2. 【转】Android(安卓)技术-- 图形系统详解
  3. android 图形系统
  4. 【转】Android(安卓)技术-- 图形系统详解
  5. [转]Android(安卓)技术专题系列之九 -- 图形系统
  6. Android(安卓)的GUI 系统
  7. Android添加横线和竖线分割界面
  8. Android图形系统的底层实现
  9. Android(安卓)开发 VectorDrawable 矢量图 (一)了解Android矢量图

随机推荐

  1. PHP生成奖状
  2. PHP实现Snowflake生成分布式唯一ID
  3. PHP fopen/file_get_contents与curl性能
  4. php - tcp 粘包/拆包实例
  5. 10个PHP常见安全问题(实例讲解)
  6. Yii授权之基于角色的存取控制 (RBAC)
  7. python怎么添加环境变量
  8. PHP面试踩过的坑
  9. php响应Json字符串头部出现非法字符“\u
  10. 几个不常用但特别实用的PHP预定义变量