LinearGradient

线性渐变(线性梯度),用来实现在线的直线渐变,这个线是可以是直线竖线或者斜线

构造方法

public LinearGradient(float x0, float y0, float x1, float y1, int[] colors, float[] positions,Shader.TileMode tile)

参数:float x0: 渐变起始点x坐标float y0:渐变起始点y坐标float x1:渐变结束点x坐标float y1:渐变结束点y坐标int[] colors:颜色 的int 数组float[] positions: 相对位置的颜色数组, 为null,颜色沿渐变线均匀分布Shader.TileMode tile: 渲染器模式

x0,y0合在一起构成一个起点的坐标;

x1,y1合在一起构成个结束点的坐标;

int[]这个是颜色的数组所有的颜色;

float[]颜色对应的位置

Shader.TileMode颜色渐变的模式

Shader.TileMode:CLAMP:超出其原始边界,则复制边缘颜色MIRROR:根据x轴或y轴进行翻转REPEAT:重复该明暗器的图像

这里要重点说的是float数组的参数,不传入值的时候颜色值均匀分布在这个线上,那么均匀是指,如果传入3个值,那你float[]传入是空他的默认就是{0,0.5f,1},也就是说float数组是指的颜色对应的点

 LinearGradient linearGradient = new LinearGradient(x, mTopPadding, x, bottom,new int[]{Color.TRANSPARENT, Color.WHITE, Color.WHITE, Color.TRANSPARENT},new float[]{0f, 0.2f, 0.8f, 1f}, Shader.TileMode.CLAMP);paint.setShader(linearGradient);

上面的代码实现效果是这样的,其中的竖线

注意:白色部分设置的是0.2到0.8的过程,面不是只设置两边的透明色位置
所以第一个渐变是0到0.2一个渐变白色,第二个渐变是0.8到1的渐变透明色
也就是说想实现多个颜色不均匀分布,要设置颜色长度的两个边缘颜色而不是只设置中间值

###构造方法
public LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1,Shader.TileMode tile)

这个构造方法可以设置两个颜色的渐变,只有起点终点,开始颜色和结束颜色
单纯的渐变,很多网上的博客都是使用这个构造方法

float x0: 渐变起始点x坐标float y0:渐变起始点y坐标float x1:渐变结束点x坐标float y1:渐变结束点y坐标int color0: 起始渐变色
int color1: 结束渐变色Shader.TileMode tile: 渲染器平铺模式

图中K线的项目地址
candleLine
KChartLib 线的lib : https://github.com/icechao/kline

安卓图形绘制- LinearGradient 线性梯度相关推荐

  1. 安卓自定义View基础05-Canvas之基础图形绘制,点,线,矩形,圆,椭圆,弧形等

    一.Canvas简介 Canvas我们可以称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础, 源码中关于Canvas的解释: The Canvas class holds the &q ...

  2. CSS3 linear-gradient线性渐变实现虚线等简单实用图形

    一.作为图片存在的CSS3 gradient渐变 我觉得CSS3 Backgrounds比较厉害的一个地方就是支持多背景,也就是背景图片个数可以无限累加,正好CSS3的gradient渐变性质是 ba ...

  3. Android LinearGradient线性渐变

    1 linearGradient简介 linearGradient线性渐变,会用到Paint的setShader,Shader 被称为着色器,在opengl中这个概念经常被用到,android中的sh ...

  4. Android绘图之LinearGradient线性渐变(9)

    Android 绘图学习 android绘图之Paint(1) android绘图之Canvas基础(2) Android绘图之Path(3) Android绘图之drawText绘制文本相关(4) ...

  5. matlab图形绘制经典案例,Matlab图形绘制经典案例(转载)

    1. 三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> ...

  6. 气象数据可视化:NCL数据分析处理与图形绘制

    [查看原文]NCL数据分析与处理实践技术应用 NCAR Command Language(NCL)是由美国大气研究中心(NCAR)推出的一款用于科学数据计算和可视化的免费软件.它有着非常强大的文件输入 ...

  7. 神经网络基础知识、常用激活函数及其Python图形绘制

    在人工智能与机器学习研究与应用领域,神经网络占有重要地位.神经网络(Neural Networks, NNs),又称人工神经网络(Artificial Neural Networks, ANNs),是 ...

  8. Android 颜色渲染(五) LinearGradient线性渲染

    版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(五) LinearGradient线性渲染 相信很多人都看过歌词同步的效果, 一是竖直方向的滚动,另一方面是水平方面的歌 ...

  9. java实现图形界面输入半径求圆面积_测试开发工程师系列之Android自动化测试Appium(Python)连载(7)安卓图形界面...

    安卓图形界面 UI即User Interface(用户界面)的简称.泛指用户操作界面,包含移动APP,网页,智能穿戴设备等.Android用户界面测试,要测试应用程序如何与一个真实的用户交互.这种测试 ...

最新文章

  1. quartz 分布式_6大分布式定时任务对比
  2. pyspider积累
  3. 7篇必读ACM MM 2019论文:图神经网络+多媒体
  4. Spark 在 Window 环境下的搭建
  5. 解决误删/bin/bash问题
  6. VINS-Fusion如何高效学习?
  7. NLP-语料库:英文语料库【Brown Corpus(有词性标注)、LOB(Lancaster-Oslo/Bergen,英国英文)...】
  8. 内存颗粒和闪存颗粒的区别_内存颗粒及频率知识,你真的清楚吗?
  9. .NET性能相关书籍
  10. 分享两款雪花特效代码
  11. 如何运用MATLAB实现K-MEANS聚类分析
  12. True Liars (并查集压缩路径 + DP)
  13. 各个领域中的经典论文,看看你都读过哪些 - 易智编译EaseEditing
  14. 故宫景点功课20:宁寿宫区2
  15. 基于 locust/boomer 为核心的简单 http 接口分布式性能测试工具
  16. Webrtc 回音消除 一
  17. OCJP(1Z0-851) 模拟题分析(二)
  18. Idel中maven全局配置
  19. 马化腾马云先后声明发展区块链:风口又来了?
  20. 2022年化工自动化控制仪表考试总结及化工自动化控制仪表证考试

热门文章

  1. 关于祥琳望晴-雅晴 | AiY! 备忘录
  2. MLX90640 红外热成像仪测温传感器模块
  3. 课题五 数控镗铣削加工工艺分析
  4. URP Camera
  5. java计算机毕业设计医疗健康管理平台会员管理子系统源码+数据库+系统+lw文档+部署
  6. cad详图怎么画_菜鸟入门必备:结构图如何根据建筑图绘制?【CAD】
  7. 血泪 1password
  8. Mac 卸载自带程序(图文并茂)
  9. 解决IE自动关闭故障一例(转)
  10. 最新首发自助建站系统源码,傻瓜式一键建站系统源码,高度开源支持专业在线自助建站服务平台软件