本文出自 “阿敏其人” 简书博客,转载或引用请注明出处。
1、BitmapDrawable
Bitmap,代表一个位图图像,Android支持三种格式的位图图像:.png (preferred),.jpg (acceptable), .gif (discouraged)。
括号里的说明,代表这三种格式的图片在Android中的支持情况,.png格式图片优先,.jpg格式也可以,但是效果没有.png好,.gif支持最差。
在构建应用的时候,Bitmap文件可能会被appt工具压缩自动优化为无损图像。例如,一个真彩色PNG,不需要超过256的颜色可以被转换成一个8位PNG和调色板。这将导致一个图像质量相同,但这需要更少的内存。所以要意识到,在drawable目录中图像的二进制文件在构建程序时可以改变。如果你打算读一个图像作为字节流并将它转换成一个位图,把你的图片放在在res /raw/文件夹里,在那里他们不会被优化。
可以直接使用图片的名称作为资源ID,来直接引用一个位图图片。也可以再XML文件中创建一个资源别名的ID。
明明图片拉进去对应的文件之后我们就直接设置为背景,那么谷歌还要弄一个BitmapDrawable干嘛,简单说就是你直接设背景能控制背景怎么对齐吗,能控制背景如何平铺吗,不能。
所以最看得见的好处就是:
BitmapDrawable可以设定背景的对齐方式
BitmapDrawable可以设定背景的对齐方式。
有图有真相:
对其和平铺.gif
1.1、最简单的BitmapDrawable的使用方法:
在程序的drawable文件面新建一个文件:
内容如下:
android:src="@mipmap/demo_pic"
android:tileMode="repeat"
>
然后在activity的布局文件随便写一个TextView,宽高比我们的src对应的图片大一些,然后把刚刚的 根元素为bitmap 的xml文件设为该TextView的背景
Paste_Image.png
然后运行程序,即可看到效果。
Paste_Image.png
1.2 BitmapDrawable 用法简述
BitmapDrawable的xml需要什么?
android:src="@mipmap/demo_pic"
android:tileMode="repeat"
>
开头
<?xml version="1.0" encoding="utf-8"?>是xml必须的,不必说
根元素
BitmapDrawable对应的根元素就是 bitmap,也没什么可说
节点
src 节点是必不可少的。
也就是说:在一个根元素是bitmap带src节点的xml文件。
其他的节点就是修饰,比如我们还用到的 tileMode
BitmapDrawable可设置的节点
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:mipmap=["true" | "false"]
android:gravity=