Drawable资源——BitmapDrawable

Drawable资源——BitmapDrawable

1,认识
        BitmapDrawable几乎是最简单的Drawable,它表示一张图片。
       在实际的开发中我们可以直接引用原始的图片,也可以通过XML的方式来描述它,
通过XML来描述BitmapDrawable可以设置更多效果。

语法
    <?xml version="1.0" encoding="utf-8"?>
    <bitmap
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:src="@[package:]drawable/drawable_resource"
        android:antialias=["true" | "false"]
        android:dither=["true" | "false"]
        android:filter=["true" | "false"]
        android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                          "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                          "center" | "fill" | "clip_vertical" | "clip_horizontal"]
        android:mipMap=["true" | "false"]
        android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />
         
 2,bitmap 属性
   android:src="@[package:]drawable/ok"    
        图片的资源的id

    android:antialias=["true" | "false"]   
        是否开启图片抗锯齿功能。开启后会让图片变得平滑,同时
        也会在一定程度上降低图片的清晰度。这个降低的幅度较低
        以至于可以忽略,因此抗锯齿选项应该开启。

    android:dither=["true" | "false"]
        是否开启抖动效果。当图片的像素配置和手机屏幕的像素配
        置不一致时,开启这个选项可以让高质量的图片在低质量的
        屏幕上还能保持较好的显示效果,比如图片的色彩模式为
        ARGB8888,但是设备屏幕所支持的色彩模式为RGB555,这个
        时候开启抖动选项可以让图片显示不会过于失真。在Android
        中创建的Bitmap一般会选用ARGB8888这个模式,则ARGB四个
        通道各占8位,在这种色彩模式下,一个像素所占的大小为4
        个字节,一个像素的位数总和越高,图像也就越逼真。根据
        分析,抖动效果也应该开启。

    android:filter=["true" | "false"]
        是否开启过滤效果。当图片尺寸被拉伸或者压缩时,开启过滤
        效果可以保持较好的显示效果,因此该选项也应该开启。

    android:gravity=["top" | "bottom" | "left" | "right" 
        |"center_vertical" | "fill_vertical" | "center_horizontal"
        |"fill_horizontal" | "center" | "fill" | "clip_vertical"
        |"clip_horizontal"]
        当图片小于容器尺寸时,设置此选项可以对图片进行定位。
        属性值:
        top 将图片放在容器的顶部。不改变图片的大小
        bottom 将图片放在容器的底部。不改变图片的大小
        left 将图片放在容器的左部。不改变图片的大小
        right 将图片放在容器的右部。不改变图片的大小
        center_vertical 使图片竖直居中,不改变图片的大小
        fill_vertical 图片竖直方向填充容器
        center_horizontal 使图片水平居中,不改变图片的大小
        fill_horizontal 图片水平方向填充容器
        center 是图片在水平方向和竖直方向同时居中,不改变图片的大小
        fill 图片在水平和竖直方向均填充容器,这是默认值
        clip_vertical 附加选项,表示竖直方向的裁剪,较少使用
        clip_horizontal 附加选项,表示水平方向的裁剪,较少使用

    android:mipMap=["true" | "false"]
        这是一种图像相关的处理技术,也叫纹理映射,比较抽象,默认为
        false,在日常开发中此选项不常用

    android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"]
        平铺模式。disable表示关闭平铺模式,这是默认值。
        当开启平铺后,gtavity属性挥别忽略。
            repeat 简单的水平和竖直方向上的平铺效果
            mirror 在水平和竖直方向上的镜面投影效果
            clamp 图片四周的像素会扩展到周围区域
      
3,代码示例:
(1)bitmap_drawable_useing1.xml
<?xml version="1.0" encoding="utf-8"?>
    android:antialias="true"
    android:dither="true"
    android:filter="true"
    android:gravity="center"
    android:src="@drawable/icon"
    android:mipMap="false"
    android:tileMode="disabled" >
</bitmap>

(2)bitmap_drawable_useing2.xml
<?xml version="1.0" encoding="utf-8"?>
    android:antialias="true"
    android:dither="true"
    android:filter="true"
    android:gravity="center"
    android:src="@drawable/icon"
    android:mipMap="false"
    android:tileMode="clamp" >
</bitmap>

(3)bitmap_drawable_useing3.xml
<?xml version="1.0" encoding="utf-8"?>
    android:antialias="true"
    android:dither="true"
    android:filter="true"
    android:gravity="center"
    android:src="@drawable/icon"
    android:mipMap="false"
    android:tileMode="repeat" >
</bitmap>

(4)bitmap_drawable_useing4.xml
<?xml version="1.0" encoding="utf-8"?>
    android:antialias="true"
    android:dither="true"
    android:filter="true"
    android:gravity="center"
    android:src="@drawable/icon"
    android:mipMap="false"
    android:tileMode="mirror" >
</bitmap>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值