Home  >  Article  >  Java  >  Three ways to implement background tiling in Android

Three ways to implement background tiling in Android

高洛峰
高洛峰Original
2017-01-20 15:46:311426browse

Method 1: System api implementation

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

Method 2: XML implementation

xml path: res/drawable/bg.xml

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"   
    android:src="@drawable/img"  
    android:tileMode="repeat" />

Method 3: Custom drawing

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

For more related articles on the three methods of implementing background tiling in Android, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn