android 开发 View _9_ 实现渐变功能(直线与圆形)

前言

在android自定义View中设置颜色渐变的分类有:

LinearGradient线性渐变

线性渐变的参数为:

A点X坐标,A点Y坐标,B点X坐标,B点Y坐标,int[] 颜色数组,float[] 渐变点数组 ,渲染器模式;

RadialGradient镜像渐变

镜像渐变的参数为:

圆心点X坐标,圆心点Y坐标,半径增量值,int[] 颜色数组,float[] 渐变点数组 ,渲染器模式;

SweepGradient角度渐变

角度渐变的参数为:

圆心点X坐标,圆心点Y坐标,int[] 颜色数组,float[] 渐变点数组 ;

渲染器模式说明

Shader.TileMode.CLAMP 边缘拉伸

Shader.TileMode.MIRROR 镜像 (在水平方向和垂直方向交替镜像, 两个相邻图像间没有缝隙)

Shader.TileMode.REPEAT 重复模式 (在水平方向和垂直方向重复摆放,两个相邻图像间有缝隙缝隙)

特别注意

所有的渐变设置都最好在onDraw里实例并且设置,原因是渐变的坐标也是需要跟随View大小改变的(这样动态改变View的时候渐变效果也会随时改变),而且在onDraw渐变好处是如果是用使用View的高宽确定坐标值,这个时候View已经onMeasure完成了

线性渐变 LinearGradient

效果图:

代码:

package com.example.lenovo.mydemo.myViewDemo;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import and
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值