三种方法实现Android平铺效果

需要实现平铺效果,大致有几下几种方法。

***种,利用系统提供的api实现:

 
 
  1. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pic); 
  2.  
  3. //bitmap = Bitmap.createBitmap(200, 30, Config.ARGB_8888); 
  4. BitmapDrawable drawable = new BitmapDrawable(bitmap); 
  5. drawable.setTileModeXY(TileMode.REPEAT , TileMode.REPEAT ); 
  6. drawable.setDither(true); 
  7. view.setBackgroundDrawable(drawable);  

 第二种,使用xml来轻松实现,貌似是4.0以后出现的:

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

第三种,自己画出来:

 
 
  1. public static Bitmap createRepeater(int width, Bitmap src){ 
  2. int count = (width + src.getWidth() - 1) / src.getWidth(); 
  3.  
  4. Bitmap bitmap = Bitmap.createBitmap(width, src.getHeight(), Config.ARGB_8888); 
  5. Canvas canvas = new Canvas(bitmap); 
  6.  
  7.     for(int idx = 0; idx < count; ++ idx){ 
  8.         canvas.drawBitmap(src, idx * src.getWidth(), 0null); 
  9.      } 
  10.  
  11.      return bitmap; 
  12. }  

 

THE END