Android BitmapDrawable
BitmapDrawable
是对 Bitmap
的一种封装,可以设置它包装的 bitmap
在 BitmapDrawable
区域中的绘制方式,有平铺填充,拉伸填或保持图片原始大小
BitmapDrawable
以 <bitmap>
为根节点
BitmapDrawable 属性
属性 | 说明 |
---|---|
android:src | 图片资源 |
android:antialias | 是否支持抗锯齿 |
android:filter | 是否支持位图过滤,支持的话可以是图批判显示时比较光滑 |
android:dither | 是否对位图进行抖动处理 |
android:gravity | 若位图比容器小,可以设置位图在容器中的相对位置 |
android:tileMode | 指定图片平铺填充容器的模式 设置这个的话,gravity 属性会被忽略 有以下可选值: disabled (整个图案拉伸平铺) clamp (原图大小) repeat (平铺) mirror (镜像平铺) |
使用方式
-
XML 中使用
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:dither="true" android:src="@drawable/ic_launcher" android:tileMode="mirror" />
-
Java 中使用
BitmapDrawable bitDrawable = new BitmapDrawable(bitmap); bitDrawable.setDither(true); bitDrawable.setTileModeXY(TileMode.MIRROR,TileMode.MIRROR);
范例
-
创建一个 空的 Android 项目
cn.twle.android.BitmapDrawable
-
创建一个 BitmapDrawable 资源
res/drawable/bitmap.xml
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:dither="true" android:src="@mipmap/ic_launcher" android:tileMode="mirror" />
-
修改
activity_main.xml
添加一个ImageView
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bitmap" /> </LinearLayout>
android:tileMode="mirror"
第二排图片倒过来了,注意和 repeat
对比