Android UI效果之绘图篇(四)

来源:互联网 发布:工信部 大数据分析师 编辑:程序博客网 时间:2024/06/06 01:47

Android UI效果之绘图篇(一) :XML绘图
Android UI效果之绘图篇(二):Canvas
Android UI效果之绘图篇(三)
上一篇博文说到了Shader的五个子类
- BitmapShader
- LinearGradient
- RadialGradient
- SweepGradient
- ComposeShader
其中BitmapShader和LinearGradient已经做了说明,今天就把剩余的三个Shader补充一下
3. RadialGradient
先看下构造方法

  /**     @param centerX     中心X坐标     @param centerY     中心Y坐标     @param radius      半径     @param centerColor 开始颜色     @param edgeColor   结束颜色     @param tileMode    The Shader tiling mode     */    public RadialGradient(float centerX, float centerY, float radius,int centerColor, int edgeColor, @NonNull TileMode tileMode) public RadialGradient(float centerX, float centerY, float radius,@NonNull int colors[], @Nullable float stops[], @NonNull TileMode tileMode)

第一个构造方法已经进行了文档说明,比较简单,而第二个构造方法和LinearGradient同理,就不再赘述,使用方法也基本类似,这里直接看下效果即可

 RadialGradient rg = new RadialGradient(canvas.getWidth()/2, canvas.getHeight()/2, 200, 0xffff0000, 0xff0000ff, Shader.TileMode.[CLAMP|REPEAT |MIRROR]);        paint.setShader(rg);        canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint);

① CLAMP
这里写图片描述
② REPEAT
这里写图片描述
③ MIRROR
这里写图片描述

  1. SweepGradient
/**     *     * @param cx       中心X坐标     * @param cy       中心Y坐标     * @param color0   开始颜色     * @param color1   结束颜色     */    public SweepGradient(float cx, float cy, int color0, int color1) 

这里写图片描述
第一个构造方法比较简单,没什么好说的,效果的话类似于做煎饼皮,展开选择360度。主要看第二个构造方法

 public SweepGradient(float cx, float cy,int colors[], float positions[])

cx、cy没什么好说的,中心点坐标,colors颜色数组,主要是positions,positions中每个item的取值范围在0f-1f之间,对于colors中相应颜色在图形中的位置

int[] colors = {0xffff0000, 0xff00ff00, 0xffffff00, 0xffffffff,0xff000000};float[] positions = {0f,0.25f, 0.5f, 0.75f, 1f};SweepGradient rg = new SweepGradient(canvas.getWidth() / 2, canvas.getHeight() / 2, colors, positions);paint.setShader(rg);canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint);

这里写图片描述

  1. ComposeShader
ComposeShader(Shader shaderA, Shader shaderB, Xfermode mode)ComposeShader(Shader shaderA, Shader shaderB, PorterDuff.Mode mode)

ComposeShader,混合Shader,看到构造方法,大家应该就已经会用ComposeShader,其实就是对两个shader进行取并集交集操作,遗忘了的同学可以翻看下上一篇博文,这里就不再演示了。

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 玉米地和娘的民儿 慢点 民儿和娘玉米地的故事 第2段 民儿和娘在玉米地热逼 玉米地民儿与娘故事全文下载 玉米地娘和儿怀子小说 娘亲祖母共夫全集 小说下载 奶奶王珍珠怀孕txt 红高粱九儿玉米地视频 娘亲怀了我的种 民儿和娘玉米地故事 快抽出去外婆会怀孕的 民儿玉米地妈全给你 民儿和娘玉米地的小说 第章母亲播种危险期怀孕 儿子今晚后妈随便你怎么弄说说 同学说要看我骑他妈我说可以 荒村野性全文阅读目录 小成和后妈全文免费阅读文章 小诚和后妈全文免费阅读 娘亲在玉米地河边 我和娘亲玉米 娘亲给儿生个娃大结局 在玉米地插娘亲短文 在玉米地插娘亲电影 王来地里与娘激战2 在玉米地插娘亲播放 孩子别谢了我是你妈 臭小子 别急妈咪又不是不给你 粉嫩娘亲全文阅读全文 你的好粗妈v好痛 乡村孽缘上了王雪琴101一0 乡村小神医之情缠玉米地 乡村孽缘长篇小说全文免费阅读 乡村孽缘王雪琴怀孕是第几章 桃花村傻牛李大根 拨出来你爸要来 一个山村全家小说全集 乡村孽缘胡秀`小说全集 儿子小点声别让你爸听见长篇小说 胡秀英全文费阅读全文 儿子小声点别让你爸听见小说