Android 中使用xml定义各种Drawable

1,bitmap定义可以任意改变颜色的图片


<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 定义各种图形的图片


<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring">
    
    <corners
        android:bottomLeftRadius="20dp"
        android:bottomRightRadius="20dp"
        android:radius="20dp" />
    
    
    
    <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" />
    
    <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叠加的图形


<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 状态图形


<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

你可能感兴趣的:(Android)