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; }
更多android实现背景平铺的三种方法。