Android的图片平铺效果,主要有三种方法:1)系统API; 2)XML配置; 3)自定义绘制
方法1: 系统api实现
1
2
3
4
5
6
|
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic);
//bitmap = Bitmap.createBitmap(100, 20, Config.ARGB_8888);
BitmapDrawable drawable =
new
BitmapDrawable(bitmap);
drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT );
drawable.setDither(
true
);
view.setBackgroundDrawable(drawable);
|
方法2: XML实现
xml路径:res/drawable/bg.xml
1
2
3
|
<bitmap xmlns:android=
"http://schemas.android.com/apk/res/android"
android:src=
"@drawable/img"
android:tileMode=
"repeat"
/>
|
方法3: 自定义绘制
1
2
3
4
5
6
7
8
9
10
11
|
public
static
Bitmap createRepeater(
int
width, Bitmap src){
int
count = (width + src.getWidth() -
1
) / src.getWidth();
Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888);
Canvas canvas =
new
Canvas(bitmap);
for
(
int
idx =
0
; idx < count; ++ idx){
canvas.drawBitmap(src, idx * src.getWidth(),
0
,
null
);
}
return
bitmap;
}
|