xml定义的通用形状,标签必须作为根节点,或者包含在标签元素里面,作为layer-list、selector等的子元素。

1、语法

<?xml version="1.0" encoding="utf-8"?>                        

2、包含的标签元素以及相应的属性

必须作为根元素

  • xmlns:android:必备属性。定义XML命名空间,必须是"http://schemas.android.com/apk/res/android"。

  • android:shape:定义形状的类型,有以下四种类型:

    • rectangle:矩形,也是默认的形状。
    • oval:椭圆形
    • line:线
    • ring:环形
  • android:innerRadius(只对环形有效):定义环形内部的半径

  • android:innerRadiusRatio(只对环形有效)

  • android:thickness(只对环形有效)

  • android:thicknessRatio(只对环形有效)

  • android:useLevel(只对环形有效)

定义形状的大小,当作为背景需要填充到view里的时候,会按照size定义的比例进行等比例缩放。ImageView中可以通过将 android:scaleType 设置为"center"来显示XML文件里设置的大小。

  • android:height:定义形状的高度
  • android:width:定义形状的宽度

定义形状的填充色

  • android:color:设置颜色

设置形状的圆角,只对矩形有用。

  • android:radius:所有圆角的半径,对于特定的角如果定义了具体的数值,会被覆盖。
  • android:topLeftRadius:左上角的半径
  • android:topRightRadius:右上角的半径
  • android:bottomLeftRadius:左下角的半径
  • android:bottomRightRadius:右下角的半径

设置内边距,但是这个内边距什么情况下生效呢?我在shape里面设置了

  • android:left
  • android:top
  • android:right
  • android:bottom

定义形状的渐变颜色

  • android:type:渐变的类型

    • linear:线性渐变,默认
    • radial:径向渐变,起始颜色为中心的颜色
    • sweep:流线型渐变
  • android:startColor:渐变起始颜色

  • android:endColor:渐变结束的颜色

  • android:centerColor:起始颜色与结束颜色中间的颜色

  • android:angle:渐变的角度。只对线性渐变有效,默认值为0,也就是从左到右渐变,90表示从下到上,而且必须是45的倍数。

  • android:centerX:渐变中心相对于X轴的位置,取值范围是0到1.0

  • android:centerY:渐变中心相对于y轴的位置,取值范围是0到1.0

  • android:gradientRadius:渐变半径,只对于径向渐变类型有用

  • android:useLevel

定义形状的边框

  • android:width:边框的线宽
  • android:color:边框的颜色

如果想实现虚线边框效果,必须同时定义以下两个属性:

  • android:dashGap:虚线之间的间隔
  • android:dashWidth:虚线的宽度

参考资料

Android API Reference

更多相关文章

  1. Android(安卓)Studio自定义模板 写页面竟然可以如此轻松
  2. Android编程心得-Service数据绑定初步
  3. Android自定义动画专题一
  4. android中actionBar中字体颜色设置
  5. Android必知必会-自定义Scrollbar样式
  6. Android(安卓)setTag方法的key问题
  7. Android:shape设置corners(圆角)不能正常显示问题
  8. Android(安卓)Studio多渠道打包、自定义打包APK名称
  9. Android(安卓)Wifi方法大全

随机推荐

  1. Android中TextView中加图片,超链接,部分字
  2. Android(安卓)EditText inputType同时设
  3. Android:布局(相对布局RelativeLayout)
  4. android 杂疑汇总
  5. Android(安卓)开发从入门到精通
  6. Android之android:padding和android:layo
  7. Android学习规划和学习资料
  8. Android动画学习
  9. [Android] TextView的垂直滚动效果
  10. android native c development