版权声明:本文为博主原创文章,未经博主允许不得转载. 相信看过在上一篇中提到的三篇文章后,大家已经对颜色处理方面有更深的体会. 之前讲到颜色渐变的效果, 具体怎么做呢,这就需要应用颜色渲染. 首先要介绍Android Api中关于颜色渲染的几个重要的类:    Shader,BitmapShader,ComposeShader,LinearGradient,RadialGradient,SweepGradient 看一下它们之间的关系:  public class Shader extends …
近期一直在学习自己定义控件,昨天看到群里有人问怎样怎样实现圆盘样式的显示,学有所用,于是乎就有了这篇博客 先上图,一目了然 这里的显示颜色以及颜色块的大小你都能够自己设置 这里设置了三种颜色,相应三种颜色的三个角度 上代码: <?xml version="1.0" encoding="utf-8"? > <resources> <declare-styleable name="CustomCircle"> &l…
Shader Shader是一个基类,表示在绘制期间颜色的水平跨度 它的子类被嵌入在Paint中使用,调用paint.setShader(shader). 除Bitmap外的其他对象,使用该Paint进行绘制时.将从shader中获得颜色 Shader.TileMode 渲染模式 public enum TileMode { CLAMP (0), REPEAT (1), MIRROR (2); TileMode(int nativeInt) { this.nativeInt = nativeIn…
Android 颜色处理(六) RadialGradient 环形渲染 public RadialGradient(float x, float y, float radius, int[] colors, float[] positions,Shader.TileMode tile) float x:  圆心X坐标 float y:  圆心Y坐标 float radius: 半径 int[] colors:  渲染颜色数组 floate[] positions: 相对位置数组,可为null, …
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] Android 颜色处理(十) ComposeShader组合渲染 public ComposeShader(Shader shaderA,Shader shaderB, Xfermode mode) Parameters shaderA 渲染器A,Shader及其子类对象 shaderB 渲染器B,Shader及其子类对象 mode  两种渲染器组合的模式,Xfermode对象 public ComposeShader(S…
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(五) LinearGradient线性渲染 相信很多人都看过歌词同步的效果, 一是竖直方向的滚动,另一方面是水平方面的歌词颜色渐变点亮效果,这种效果怎么做呢? 这就需要用到LinearGradient线性渲染,下面还是先看具体的使用: LinearGradient有两个构造函数; public LinearGradient(float x0, float y0, float x1, float y1, int[] c…
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(四) BitmapShader位图渲染 public   BitmapShader(Bitmap bitmap,Shader.TileMode tileX,Shader.TileMode tileY) 调用这个方法来产生一个画有一个位图的渲染器(Shader). bitmap   在渲染器内使用的位图 tileX      The tiling mode for x to draw the bitmap in.  …
 Android渲染器Shader:环状放射渐变渲染器RadialGradient(三) Android RadialGradient渲染器提供一种环状.发散.放射形状的渐变渲染器. 写一个例子: package zhangphil.demo; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint;…
在Android中,提供了Shader类专门用来渲染图像以及一些几何图形. Shader类包括了5个直接子类,分别为:BitmapShader.ComposeShader.LinearGradient.RadialGradient以及SweepGradient.其中,BitmapShader用于图像渲染:ComposeShader用于混合渲染:LinearGradient用于线性渲染:RadialGradient用于环形渲染:而SweepGradient则用于梯度渲染. 使用Shader类进行图…
 Android渲染器Shader:LinearGradient(一) LinearGradient是Android的线性渲染器.我写5个LinearGradient渲染器渲染后的View表现结果.其中,LinearGradient 1,2,3只是修改渲染器的渲染模式,LinearGradient 1为重复(repeat),LinearGradient 2为镜像模式(mirror),LinearGradient 3为拉伸(clamp).注意到LinearGradient 3在拉伸模式下,如果…