android LinearGradient和RadialGradient

LinearGradient和RadialGradient

LinearGradient

LinearGradient是用来实现线性渐变效果

1.此类是Shader的子类

LinearGradient extends Shader

主要是用对颜色的线性渐变效果

2.通过paint.setShader来设置渐变。

 Paint mPaint = new Paint();
 mPaint.setShader(linearGradient);

3.使用方法

LinearGradient linearGradient = new LinearGradient(
        startX,startY,endX,endY,
        new int[]{skyColor,skyColor,Color.BLACK},
        new float[]{0,0.2f,1f}, Shader.TileMode.MIRROR
);
mPaint.setShader(linearGradient);
 1. 第一个参数为线性起点的x坐标
 2. 第二个参数为线性起点的y坐标
 3. 第三个参数为线性终点的x坐标
 4. 第四个参数为线性终点的y坐标
 5. 第五个参数为实现渐变效果的颜色的组合
 6. 第六个参数为前面的颜色组合中的各颜色在渐变中占据的位置(比重),
 如果为空,则表示上述颜色的集合在渐变中均匀出现
 7. 第七个参数为渲染器平铺的模式,一共有三种
 -CLAMP
边缘拉伸
-REPEAT
在水平和垂直两个方向上重复,相邻图像没有间隙
-MIRROR
以镜像的方式在水平和垂直两个方向上重复,相邻图像有间隙
---注:Android中计算x,y坐标都是以屏幕左上角为原点,向右为x+,向下为y+

RadialGradient

RadialGradient是用来实现径向梯度渐变效果的

1.主要用法
RadialGradient radialGradient = new RadialGradient(
      moonX, moonY, moonR,
      new int[]{moonCenterColor, moonCenterColor,moonLightColor},
       new float[]{0f, 0.3f, 1f},
      Shader.TileMode.MIRROR );
mPaint.setShader(radialGradient);
--------- 用法和LinearGradient基本相同
1. 第一个参数为圆心的x坐标
2. 第二个参数为圆心的y坐标
3. 第三个参数为半径
4. 第四个参数为实现渐变效果的颜色的组合
5. 第五个参数为前面的颜色组合中的各颜色在渐变中占据的位置(比重),
如果为空,则表示上述颜色的集合在渐变中均匀出现
6. 第六个参数为渲染器平铺的模式,一共有三种
-CLAMP
边缘拉伸
-REPEAT
在水平和垂直两个方向上重复,相邻图像没有间隙
-MIRROR
以镜像的方式在水平和垂直两个方向上重复,相邻图像有间隙
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值