android开发之shape详解
来源:互联网 发布:网络著名小说家有哪些 编辑:程序博客网 时间:2024/06/10 17:39
转:http://www.cnblogs.com/lenve/p/4925901.html
很多时候,使用shape能够实现的效果,你用一张图片也能够实现,但问题是一张图片无论你怎么压缩,它都不可能比一个xml文件小,因此,为了获得一个高性能的手机App,我们在开发中应该遵循这样一个原则:能够用shape实现的效果尽量不使用图片来实现。
今天我们就一起来看看shape的使用。
首先,使用shape画的图形,这个xml文件的根节点是shape,如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle|oval|line|ring" >
shape取值有四种,可以是rectangle(长方形),oval(椭圆),line(线条),ring(圆环),如果设置的话默认是长方形,只有当我们要画的图形是ring的时候,下面这几个属性才会生效:
- android:innerRadius:内环的半径。
- android:innerRadiusRatio:内环的比例,比如这个值为2,那么内环的半径就为环半径除以2,如果设置了第一个属性,则这个属性不起作用。
- android:thickness:环的厚度。
- android:thicknessRatio:环的厚度比例,比如这个值为2,那么环的厚度就为环半径除以2,如果设置了第三个属性,则这个属性不起作用。
- android:useLevel:只有当我们的shape使用在LevelListDrawable中的时候,这个值为true,否则为false。
圆角:
<corners android:radius="20dp" android:topLeftRadius="20dp" android:topRightRadius="20dp" android:bottomLeftRadius="0dp" android:bottomRightRadius="0dp" /
android:radius表示长方形四个角的半径,当然也可以每个角单独设定,后面单独设定的圆角半径会覆盖android:radius
渐变:
<gradient android:angle="90" android:centerColor="#9ACD32" android:endColor="#9AC0CD" android:startColor="#9AFF9A" android:type="linear" android:useLevel="false" />
- android:angle="90"表示渐变的起始位置,这个值必须为45的倍数,包括0,0表示从左往右渐变,逆时针旋转,依次是45,90,135.....,90表示从下往上渐变,270表示从上往下渐变,剩下的大家依次去推理。
- android:startColor="#9AFF9A",表示渐变的起始颜色
- android:centerColor="#9ACD32"表示渐变的过渡颜色
- android:endColor="#9AC0CD"表示渐变的结束颜色
- type表示渐变的类型,有三种,分别是linear(线性变化),radial(辐射渐变)以及sweep(扫描渐变)
- 当type为radial时,我们要设置android:gradientRadius="",这个表示渐变的半径(线性渐变和扫描渐变不需要设置)
填充:
<solid android:color="#ADFF2F" />这个比较简单,不多说。
大小:
<size android:width="1dp" android:height="1dp" />
这个表示该shape的大小,默认情况下,shape的大小与它所在的容器大小成正比。如果我们在ImageView中使用这个shape,那么可以通过android:scaleType="center"属性来限制这种缩放。
http://keeganlee.me/post/android/20150830
0 0
- android开发之shape详解
- android开发之shape详解
- android开发之shape详解
- android开发之shape详解
- Android开发之Shape详解
- Android开发 shape详解
- Android开发之shape
- Android开发之shape、selector和layer-list详解
- Android开发之Shape和Selector、Layer-list的详解
- Android UI 详解之Shape
- android UI之Shape详解
- Android之shape属性详解
- Android 样式开发之shape
- Android样式开发之shape
- Android 开发之 Shape 篇
- Android:shape开发详解-UI设计
- android UI之Shape详解_GradientDrawable
- android资源文件之:shape详解
- formatter in SAPUI5
- <<改善既有代码的设计>> 第1章
- Android 透明度百分比对应的 十六进制
- GCD
- Gradle in Android Studio: Failed to resolve third-party libraries
- android开发之shape详解
- JAVA图片裁剪上传实例______软件开发-帮助类
- 数据结构实验之二叉树三:统计叶子数
- MySQL 之 别名语法
- VC++60 第十章 绘制图形
- ssh密钥认证原理
- VC++60 第十一章 显示位图
- 数据结构-算法-时间复杂度
- Python-OpenCV 处理图像(一):基本操作