Android开发之渐变色

在android.graphics中提供了有关Gradient类,包含LinearGradient线性渐变、 RadialGradient径向渐变和SweepGradient梯度渐变三种,它们的基类为android.graphics.Shader。

1. LinearGradient 线性渐变

构造体

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

LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1, Shader.TileMode tile)

参数

说明

x0

渐变线起点的x坐标

y0

渐变线起点的y坐标

x1

渐变线末端的x坐标

y1

渐变线末端的y坐标

colors

要沿着渐变线分布的颜色数组

color0

渐变线开始处的颜色

color1

渐变线末端的颜色

positions

颜色数组中每个对应颜色的相对位置[0,1]。如果为null,则颜色沿线均匀分布。

tile

着色器平铺模式

例子如下

Paint paint =new Paint();

//两个坐标形成变量,规定了渐变的方向和间距大小,着色器为镜像

LinearGradient linearGradient =new LinearGradient(0,0,200,0, Color.RED,Color.BLUE, Shader.TileMode.MIRROR);

paint.setShader(linearGradient);

paint.setStrokeWidth(50);

canvas.drawLine(0,getMeasuredHeight()/2,getMeasuredWidth(),getMeasuredHeight()/2, paint);

LinearGradient

2. RadialGradient 径向/放射渐变

构造体

RadialGradient(float x, float y, float radius, int[] colors, float[] positions, Shader.TileMode tile)

RadialGradient(float x, float y, float radius, int color0, int color1, Shader.TileMode tile)

参数

说明

x

半径中心的x坐标

y

半径中心的y坐标

radius

必须是积极的。此渐变的圆的半径

colors

颜色分布在圆的中心和边缘之间

color0

圆圈中心的颜色

color1

圆圈边缘的颜色

positions

颜色数组中每个对应颜色的相对位置[0,1]。如果为null,则颜色沿线均匀分布。

tile

着色器平铺模式

例子如下

paint =new Paint();

radialGradient =new RadialGradient(240,360,200, new int[]{Color.BLUE, Color.GREEN, Color.RED },null, Shader.TileMode.CLAMP);

paint.setShader(radialGradient);

canvas.drawCircle(240,360,200,paint);

RadialGradient

3. SweepGradient 扫描/梯度/扇形渐变

构造体

SweepGradient(float x, float y, int[] colors, float[] positions)

SweepGradient(float x, float y, int color0, int color1)

参数

说明

x

中心的x坐标

y

中心的y坐标

colors

颜色分布在中心周围,阵列中必须至少有2种颜色。

color0

在扫描开始时使用的颜色

color1

在扫描结束时使用的颜色

positions

颜色数组中每个对应颜色的相对位置[0,1]。如果为null,则颜色沿线均匀分布。

例子

paint =new Paint();

int[] colors = new int[]{Color.GREEN, Color.GREEN, Color.BLUE, Color.RED, Color.RED};

sweepGradient = new SweepGradient(240, 360,colors,null);

paint.setShader(sweepGradient);

canvas.drawCircle(x,y,200,paint);

SweepGradient

\( ^o ^)/了解!

android 横向渐变颜色,Android开发之渐变色相关推荐

  1. android 圆形渐变背景,android实现圆形渐变进度条

    最近项目中使用到了渐变效果的圆形进度条,网上找了很多渐变效果不够圆滑,两个渐变颜色之间有明显的过渡,或者有些代码画出来的效果过渡不美观,于是自己参照写了一个,喜欢的朋友可以参考或者直接使用. 先上一张 ...

  2. android按钮背景颜色函数,Android按钮背景颜色(Android button background color)

    Android按钮背景颜色(Android button background color) 我想在我的应用程序中设置按钮的背景颜色,我无法实现我想要的结果... 我试图设置的颜色是holo_gree ...

  3. android 圆形渐变背景,Android背景渐变色(shape,gradient) 圆角(shape,corners)

    Android设置背景色可以通过在res/drawable里定义一个xml,如下: [代码]xml代码: 1 2 3 4 android:startColor="#FFF" 5 a ...

  4. android切换字体颜色,Android开发实现按钮点击切换背景并修改文字颜色的方法

    本文实例讲述了Android开发实现按钮点击切换背景并修改文字颜色的方法.分享给大家供大家参考,具体如下: 其实原理很简单,用到的是selector,用来设置android:background和an ...

  5. Android对渐变颜色的处理

    android对颜色渐变的处理和C#WPF很像. 先看一下xml的表达: <?xml version="1.0" encoding="utf-8"?> ...

  6. android设置渐变背景,Android LinearLayout渐变背景

    我在将渐变背景应用于LinearLayout时遇到问题. 根据我所读的内容,这应该相对简单,但似乎不起作用. 作为参考,我正在开发2.1-update1. header_bg.xml: android ...

  7. android seekbar 背景颜色,Android中自定义SeekBar如何实现分段显示不同背景颜色

    Android中自定义SeekBar如何实现分段显示不同背景颜色 发布时间:2020-07-17 16:04:27 来源:亿速云 阅读:197 作者:小猪 这篇文章主要讲解了Android中自定义Se ...

  8. svg android怎么填充颜色,android svg 使用方法及修改颜色

    时隔3年,庆幸自己还在安卓开发这一行,也算是累计了些知识,现在在工作之余,也有些时间来记录些自己平时使用的一些技术,希望这次回来,可以捡起这份博客,写一些自己喜欢的内容. 最近在工作中,碰到了一个需要 ...

  9. android activity 渐变,关于Android的径向渐变高级编程的实现

    在最近的一系列文章,对midipad APP,有一个关于一个radialgradiant渲染每个padview利用的探讨,对审美的原因,这是一个软件层,而不是一个硬件层.在这个简短的系列中,我们首先看 ...

最新文章

  1. Color Blended Layers
  2. 25道Spring框架面试题
  3. 虚拟存储器(虚拟内存Vitual Memory)
  4. GloVe: Global Vectors for Word Representation-学习笔记
  5. axure 8 表格合并_搞定LaTeX论文中的表格
  6. MySQL数据高级查询之连接查询、联合查询、子查询
  7. IntelliJ IDEA 添加copyright
  8. HTTP1.0 、 HTTP1.1、HTTP2.0的主要区别
  9. js 比较时分大小_JS 判断两个时间的大小(可自由选择精确度:天,小时,分钟,秒)...
  10. Linux配置Anaconda3环境变量的问题
  11. Linux_ubuntu16.04 无线/Wifi 上网速度慢的解决方法
  12. 「IT基础」计算机网络结构
  13. ITIL规范(持续更新)
  14. c语言输出七行的菱形,C语言输出一个菱形图案(有程序)
  15. PIAO网址PIAO
  16. 以下关于python二维数据的描述中错误的是_关于二维数据CSV存储问题,以下选项中描述错误的是‪‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫:...
  17. C语言之write()函数解析:Write Failed Bad address
  18. CSDN Markdown 显示连续两个中划线 --
  19. springBoot管理AOP日志+注解实现
  20. 上银驱动器使用手册_D1驱动器操作使用手册.pdf

热门文章

  1. 一目了然——二叉树的遍历(先序,中序,后序遍历)
  2. 音符起始点检测(音频节奏检测)(1)
  3. vite+vue3+axios+ts入门mockjs以及深入学习,直接一步精通
  4. AminoCapital:大数据+机械学习引领今年硅谷趋势
  5. accept()函数说明
  6. Eclipse插件2
  7. CSS超链接样式,去除下划线等
  8. nextTick介绍
  9. 【大数据处理技术】实验11
  10. attention机制及self-attention(transformer)