xml drawable

1.Shape drawable:改变组件的形状和渐变xml shape标签

  corner标签:改变轮廓

  gradient:颜色填充的渐变

  android:angle
  android:angle=“0”时,是从左到右,按照开始颜色到结束颜色来渲染 的,
  android:angle=“90”是从上到下来渲染的,android:angle=“180”是从右到左来渲染 的,
  android:angle=“360”和android:angle=“0”是一样的,所以这里应该是这样的,
  渲染时按照最原始的渲染色板(把控件内部看作一块可以绕中心旋转的板子)
  围绕控件中心来旋转相应的度数,
  即android:angle里面的值就是所需要旋转的角度,只是这个旋转角度必须是45的整数倍

  参考资料http://blog.csdn.net/lonelyroamer/article/details/8254592

2.State drawable:根据组件的不同行为外观跟着变化的xml,selector标签

  参考资料http://android.blog.51cto.com/268543/564581/

3.layer list:将会按这些Drawable对象的数组顺序来绘制它们,索引最大(数组中越靠后的)的Drawable对象将会被绘制在最上面,定义LayerDrawable对象的XML文件的根元素layer-list ,该元素可以包含多个item元素。

  参考资料http://blog.csdn.net/lonelyroamer/article/details/8162569

                http://blog.csdn.net/lee576/article/details/7825930

4.inset drawable:InsetDrawable 表示一个drawable嵌入到另外一个drawable内部,并且在内部留一些间距

  参考资料http://blog.csdn.net/lonelyroamer/article/details/8244607

                http://www.jianshu.com/p/b1c2d2d3dfb5

4.9Patch:控制图片哪些地方可拉伸哪些不可拉伸

  上:控制左右扩大(就是说只有被标记黑色的部分才能扩大)

  左:控制上下扩大

  右、下:右侧与下侧的绘制与上侧和左侧的绘制流程都差不多, 但表示的含义不一样,右侧表示纵向显示内容的区域 (就是说文字等内容只能在这片区域内显示)

原文地址:https://www.cnblogs.com/rookiechen/p/5257391.html