Android颜色处理SweepGradient扫描及梯度渲染示例
扫描渲染
为什么什么叫扫描渲染呢? 相信大家都看过雷达扫描的效果,尤其是在安全软件中.

public sweepgradient(float cx, float cy, int[] colors, float[] positions)
parameters:
| cx | 渲染中心点x 坐标 |
|---|---|
| cy | 渲染中心y 点坐标 |
| colors | 围绕中心渲染的颜色数组,至少要有两种颜色值 |
| positions | 相对位置的颜色数组,可为null, 若为null,可为null,颜色沿渐变线均匀分布 |
public sweepgradient(float cx, float cy, int color0, int color1)
parameters:
| cx | 渲染中心点x 坐标 |
|---|---|
| cy | 渲染中心点y 坐标 |
| color0 | 起始渲染颜色 |
| color1 | 结束渲染颜色 |
效果图:

代码:
mainactivity:
package com.tony.testshader;
import android.os.bundle;
import android.app.activity;
import android.graphics.bitmap;
import android.graphics.bitmapfactory;
import android.view.menu;
import android.widget.seekbar;
import android.widget.seekbar.onseekbarchangelistener;
public class mainactivity extends activity implements onseekbarchangelistener{
private sweepgradientview sweepgradientview;
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
sweepgradientview = new sweepgradientview(mainactivity.this);
setcontentview(sweepgradientview);
}
@override
public boolean oncreateoptionsmenu(menu menu) {
getmenuinflater().inflate(r.menu.main, menu);
return true;
}
}sweepgradientview:
package com.tony.testshader;
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.shader;
import android.graphics.sweepgradient;
import android.util.attributeset;
import android.view.view;
public class sweepgradientview extends view {
paint mpaint = null;
// 梯度渲染
shader msweepgradient = null;
public sweepgradientview(context context) {
super(context);
// 创建sweepgradient对象
// 第一个,第二个参数中心坐标
// 后面的参数与线性渲染相同
msweepgradient = new sweepgradient(240, 360, new int[] {color.cyan,color.dkgray,color.gray,color.ltgray,color.magenta,
color.green,color.transparent, color.blue }, null);
mpaint = new paint();
}
public sweepgradientview(context context, attributeset attrs) {
super(context, attrs);
}
@override
protected void ondraw(canvas canvas) {
super.ondraw(canvas);
// 绘制梯度渐变
mpaint.setshader(msweepgradient);
canvas.drawcircle(240, 360, 200, mpaint);
}
}以上就是android颜色处理sweepgradient扫描及梯度渲染示例的详细内容,更多关于android颜色处理sweepgradient扫描梯度渲染的资料请关注萬仟网其它相关文章!
看完文章,还可以扫描下面的二维码下载快手极速版领4元红包
除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。
邀请两个好友奖最高196元,如下图所示:






