1,bitmap定义可以任意改变颜色的图片
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:autoMirrored="true"
android:src="@drawable/ic_settings_bluetooth_alpha"
android:tint="#ff0000">
</bitmap>
上面将图片改为红色,改为其他颜色只需设置tint属性,如果引用一个颜色值就可以一键改变所有图片颜色
2,shape 定义各种图形的图片
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring">
<!--rectangle 矩形 ,oval 椭圆,line 横线,ring 圆环-->
<corners
android:bottomLeftRadius="20dp"
android:bottomRightRadius="20dp"
android:radius="20dp" />
<!--angle 为45的倍数 0表示从左到右,90表示从下到上-->
<!--gradientRadius 渐变半径 仅当tyoe =radial时有效-->
<!--type 渐变类别 :线性渐变linear ;扩散渐变(以一个点向外扩散) radial ;扫描渐变(以一个直线一端为原点旋转扩散) sweep-->
<gradient
android:angle="0"
android:centerColor="#00ff00"
android:centerX="0dp"
android:centerY="0dp"
android:endColor="#0000ff"
android:gradientRadius="50dp"
android:startColor="#ff0000"
android:type="radial" />
<!--width 边界的宽 ;color 边界颜色;dashGap 边界中间长度;dashWidth 边界实线宽 -->
<stroke
android:width="15dp"
android:color="#00ff00"
android:dashGap="20dp"
android:dashWidth="10dp" />
<solid android:color="#ff0000" />
<size
android:width="20dp"
android:height="30dp" />
<padding
android:bottom="20dp"
android:left="20dp"
android:right="20dp"
android:top="20dp" />
</shape>
shape可以定义: rectangle 矩形 ,oval 椭圆,line 横线,ring 圆环
3,layer-list叠加的图形
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="1dp"
android:drawable="@drawable/shape_bitmap"
android:left="1dp"
android:right="1dp"
android:top="1dp">
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="#ff0000" />
</shape>
</item>
</layer-list>
每一个item就是一个Drawable ,后面的叠加前面的,如定义Edittext的背景
4,selector 状态图形
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/shape_bitmap" android:state_pressed="true">
</item>
<item android:drawable="@drawable/shape_bitmap" android:state_pressed="false">
</item>
</selector>
每一个item对应一个状态,如 按下,选中,可用 常用于 按钮的点击效果等
还有其他一堆drawable