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

Android实现平铺图片效果

程序员文章站 2024-02-24 08:17:00
最近开发app,美工设计了一个有锯齿边沿效果的背景图,只给了我一个锯齿,然后需要平铺展示锯齿效果: android中实现平铺图片有两种方式: (1)在draw...

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

Android实现平铺图片效果

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软件编程有所帮助。