android实现背景平铺的三种方法
程序员文章站
2023-10-28 20:44:34
方法1: 系统api实现
复制代码 代码如下:bitmap bitmap = bitmapfactory.decoderesource(getresources(), r...
方法1: 系统api实现
复制代码 代码如下:
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
复制代码 代码如下:
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/img"
android:tilemode="repeat" />
方法3: 自定义绘制
复制代码 代码如下:
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;
}