欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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; 
}