赞
踩
主要设置paint,为paint设置一个Shader,定义填充色。
填充色主要参数:
colors[]
positions[]
即每个position定义一个color值,注意position是一个相对位置,其值应该在0.0到1.0之间。
可以指定多个关键点位,下面的例子指定了中间和两端共3个点位
起点: x0,y0 终点x1,y1
起点 -> 终点的直线定义了渐变的方向和长度,其单位是真实像素大小,取widget的真实大小。
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
int w = getWidth();
int h = getHeight();
Rect clientRect = new Rect(0,0,w,h);
//clientRect.inset(4,4);
if(true)
{
int colors[] = new int[3];
float positions[] = new float[3];
// 第1个点
colors[0] = 0xFF111111;
positions[0] = 0;
// 第2个点
colors[1] = 0xFF999999;
positions[1] = 0.5f;
// 第3个点
colors[2] = 0xFF111111;
positions[2] = 1;
LinearGradient shader = new LinearGradient(
0, 0,
0, h,
colors,
positions,
Shader.TileMode.MIRROR);
mPaint.setShader(shader);
}
canvas.drawRect(clientRect, mPaint);
}
补课:
http://www.2cto.com/kf/201603/492626.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。