对于shape的一些属性老是忘记,每次都要去查找,为了方便我就自己记录下来,方便以后忘记了再查看这些属性。

在shape中有几个属性rectangle、oval、line、ring
1.环形ring
在shape标签中把shape属性设置为ring类型
然后在shape标签中设置以下属性(这些属性只能在shape值为ring是使用)
android:innerRadius 内环的半径,尺寸单位是dp(不设置这个参数,会有个默认值)
android:thickness 环的宽度,尺寸单位是dp(一定要设置的参数)
android:useLevel boolean值,如果当做是LevelListDrawable使用时值为true,否则为false. (这条属性一定要设置,不然看不见效果,暂时先设置为false)

android:innerRadiusRatio 浮点型,以环的宽度比率来表示内环的半径。默认是9,就是环的宽度乘以9再除以2就是内环半径的长度
android:thicknessRatio 浮点型,以环的宽度比率来表示环的厚度。

2.椭圆oval
可以通过子标签size设置椭圆大小,当宽和高相等时就是圆。一般也不再子标签size中设置宽高,而是设置控件的宽高。

3.矩形rectangle
可以通过子标签size标签设置矩形大小,当宽和高相等时就是正方形。一般也不再子标签size中设置宽高,而是设置控件的宽高。
在shape没有指定时,默认就是矩形

4.直线line
可以画一条直线,也可以画一条虚线

在shape的子标签中有gradient、corners、padding、size、solid、stroke
1.描形状的线stroke
android:width="dimension" 线的粗细
android:color="color" 线的颜色
// 以下两个属性是设置虚线时使用,实线不设置这两个属性
android:dashWidth="dimension" 每节虚线的长度
android:dashGap="dimension" 每节虚线直接的间隙宽度

注:在画ring,line时这个属性必须设置,在画oval,rectangle时需要描边就设置,不需要就不设置

2.填充颜色solid
android:color="color" 需要填充形状内部颜色时使用这个属性

注:在画line时不要设置这个属性,在画ring,oval,rectangle是需要实心就设置,需要空心就不设置

3.设置图片大小size
android:width="dimension" 设置宽度
android:height="dimension" 设置高度

注:在画oval时宽高相等就是圆形,在画rectangle是宽高相等就是正方形,不过一般不在这里设置,基本在控件设置宽高

4.内边距padding
android:left="dimension" 设置左内边距
android:top="dimension" 设置上内边距
android:right="dimension" 设置右内边距
android:bottom="dimension" 设置下内边距

注:一般不用设置这个属性

5.圆角corners
android:radius="dimension" 全部的圆角半径
//上面全部都圆角,和下面四个属性不共存,要么全部都圆角,要么根据下面属性给每个角设置
android:topLeftRadius="dimension" 左上角的圆角半径
android:topRightRadius="dimension" 右上角的圆角半径
android:bottomLeftRadius="dimension" 左下角的圆角半径
android:bottomRightRadius="dimension" 右下角的圆角半径

注:圆角一般是在rectangle情况下使用

6.渐变色gradient
android:type=["linear" | "radial" | "sweep"] 共有3中渐变类型,线性渐变(默认)/放射渐变/扫描式渐变
android:startColor="color" 渐变开始点的颜色
android:centerColor="color" 渐变中间点的颜色,在开始与结束点之间
android:endColor="color" 渐变结束点的颜色
android:angle="integer" 渐变角度,必须为45的倍数,0为从左到右,90为从上到下
android:gradientRadius="float" 渐变的半径,只有当渐变类型为radial时才能使用
android:centerX="float" 渐变中心X的相当位置,范围为0~1,从左到右,默认0.5
android:centerY="float" 渐变中心Y的相当位置,范围为0~1,从上到下,默认0.5
android:useLevel="boolean" 使用LevelListDrawable时就要设置为true。设为false时才有渐变效果

注:当类型type为linear时,angle属性才有效;当类型type为radial时,gradientRadius属性必须设置;当类型type为sweep时,centerX和centerY属性才有效。

更多相关文章

  1. android manifest 文件Activity配置节中的属性汇总
  2. android:clipToPadding的使用详解
  3. Android中解析读取复杂word,excel,ppt等的方法
  4. 【译文】通过 android:ssp 高效过滤 Android(安卓)Intents
  5. Android(安卓)布局文件的性能--使用include标签重用Layout---转
  6. Android学习总结 :自定义 View(一)
  7. ImageView的属性 android:scaleType
  8. Android(安卓)MVVM框架 DataBinding
  9. Android(安卓)selector的item里的属性说明

随机推荐

  1. 【Android】九宫格手势锁简单实现
  2. 如何利用Eclipse运行android程序
  3. [android]android权限体系深入分析
  4. android:gravity与.android:layout_gravi
  5. android——抓取网页的android课表
  6. Android中组件的动画效果之平移动画
  7. Android(安卓)学习笔记之二 Netspeed
  8. Android UI控件之ListView实现圆角效果
  9. Android之UI学习篇十二:ListView控件学习(
  10. 如今的移动操作系统,写在2013年——androi