Android UI效果之绘图篇(三)

2019-12-10 19:02:20于丽
易采站长站为您分析Android UI效果之绘图篇,针对Android开发中的UI效果设计模块进行讲解,感兴趣的小伙伴们可以参考一下  

一、 PorterDuffXfermode

PorterDuffXfermode类似于数据集合里面的交集并集概念,只是数据里面取的是两个集合,而我们这里取的是两个图形之间的交集并集,我们先来看一张Android API Demo里面一张金典的图 

Android UI效果之绘图篇(三)

图中的Src和Dst相当于是数学中的两个集合,而在我们的代码中我们可以这样来操作这两个集合

canvas.drawSrc();
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.XXX));
canvas.drawDst();

只需要更具我们的需要设置不同的Mode即可,从此以后,圆角矩形什么的,那都不是事儿!

二、Shader

Shader字面意思是着色器、渲染器,有五个子类分别是:

  • BitmapShader
  • LinearGradient
  • RadialGradient
  • SweepGradient
  • ComposeShader

    1、BitmapShader:位图渲染,顾名思义,使用BitmapShader可以对位图进行一些着色渲染操作 
    构造方法如下

     /**
     * @param bitmap 需要渲染的位图
     * @param tileX X方向渲染模式
     * @param tileY Y方向渲染模式.
     */
     public BitmapShader(Bitmap bitmap, TileMode tileX, TileMode tileY)