Android实现平铺图片效果

2019-12-10 19:06:29丽君
这篇文章主要为大家介绍了Android实现平铺图片效果的相关方法,感兴趣的小伙伴们可以参考一下  

最近开发App,美工设计了一个有锯齿边沿效果的背景图,只给了我一个锯齿,然后需要平铺展示锯齿效果: 

Android实现平铺图片效果

android中实现平铺图片有两种方式:

(1)在drawable中的drawable文件中定义平铺的Bitmap

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://www.easck.com/apk/res/android"
 android:src="@mipmap/ic_border_cupons_left"
 android:tileMode="repeat"
 >

</bitmap>

(2)在代码中设置

/**
  * 初始化锯齿背景
  * @param holder
  */
 private void initViewBg(ViewHolder holder) {
  // 设置内容区域平铺的小圆角背景
  Bitmap topBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_border_cupons_left);
  BitmapDrawable leftDrawable = new BitmapDrawable(mContext.getResources(), topBitmap);
  leftDrawable.setTileModeY(Shader.TileMode.REPEAT);

  Bitmap bottomBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_border_cupons);
  BitmapDrawable rightDrawable = new BitmapDrawable(mContext.getResources(), bottomBitmap);
  rightDrawable.setTileModeY(Shader.TileMode.REPEAT);

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
   holder.favourItemBgLeft.setBackground(leftDrawable);
   holder.favourItemBgRight.setBackground(rightDrawable);
  } else {
   holder.favourItemBgLeft.setBackgroundDrawable(leftDrawable);
   holder.favourItemBgRight.setBackgroundDrawable(rightDrawable);
  }

 }