Android SweepGradient类介绍

Android 颜色处理(八) SweepGradient 扫描/梯度渲染

为什么什么叫扫描渲染呢? 相信大家都看过雷达扫描的效果,尤其是在安全软件中.

Parameters:

cx渲染中心点x 坐标

cy渲染中心y 点坐标

colors围绕中心渲染的颜色数组,至少要有两种颜色值

positions相对位置的颜色数组,可为null, 若为null,可为null,颜色沿渐变线均匀分布

Parameters:

cx渲染中心点x 坐标

cy渲染中心点y 坐标

color0起始渲染颜色

color1结束渲染颜色

关键是怎么理解这个中心点的意思,其实就是围绕哪个点开始渐变,下面以实例说明:

public class MainActivity extends Activity {SweepGradientView mSweep;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mSweep=new SweepGradientView(this, null);setContentView(mSweep);}}

public class SweepGradientView extends View {Paint mPaint = null;// 梯度渲染Shader mSweepGradient = null;public SweepGradientView(Context context, AttributeSet attrs) {super(context, attrs);}@Overrideprotected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);mSweepGradient = new SweepGradient(200, 300, new int[] { Color.CYAN,Color.DKGRAY, Color.GRAY, Color.LTGRAY, Color.MAGENTA,Color.GREEN, Color.TRANSPARENT, Color.BLUE }, null);mPaint = new Paint();mPaint.setShader(mSweepGradient);canvas.drawCircle(240, 360, 200, mPaint);}}

我们看到这里的中心点给的是200、300,其实就是在屏幕上以X方向为200、Y方向为300的左边开始渐变,,效果图如下:

如果以240, 360为中心点开始渐变,这个时候的效果如下:

切记理解这个中心点的意思,是围绕哪个点开始渐变

泪,一种痛苦的雨滴,不知从什么时候开始已在我的世界下个不停。

Android SweepGradient类介绍

相关文章:

你感兴趣的文章:

标签云: