最近开发App,美工设计了一个有锯齿边沿效果的背景图,只给了我一个锯齿,然后需要平铺展示锯齿效果:
android中实现平铺图片有两种方式:
(1)在drawable中的drawable文件中定义平铺的Bitmap
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.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); } }
其中第一种在xml文件中设置部分机型可能出现适配问题,所以这里推荐使用代码方式实现对图片的平铺效果。
以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。