android LinearGradient

/* 创建LinearGradient并设置渐变的颜色数组 说明一下这几天参数   
 * 第一个 起始的x坐标  
 * 第二个 起始的y坐标  
 * 第三个 结束的x坐标  
 * 第四个 结束的y坐标  
 ——以上4个坐标参数除了设置渐变区域,还决定渐变的方向
 * 第五个 颜色数组,如{#000000,#ffffff}  
 * 第六个 这个也是一个数组,如{0.5f,0.51f},
   用来指定颜色数组的相对位置,
   取值从0.0f到1.0f按第五个参数的颜色组切分渐变区域 
   如果为null 就沿坡度线均匀分布  
 ——以上2个参数配对出现,第六个如果不设置null,则需对应第五个参数的数组元素个数
 * 第七个 渲染模式  
 * */  
LinearGradient shader = new LinearGradient(0,0,100,100,   
                        new int[]{Color.RED,Color.GREEN,Color.BLUE,Color.WHITE},   
                        null,
                        Shader.TileMode.REPEAT); 

 

 此类实现线性渐变效果,目前只在实现卡拉ok字幕上使用过,就是让歌词随着歌声逐渐变色的效果,设置第三个参数,让水平渐变,第五个参数只设置两种颜色,你懂的,第六个参数设置让两种颜色的距离为0.01f,如{0.5f,0.51f},不需要明显的渐变效果,值得说明的是,数组元素的具体数值决定了渐变点的位置,通过灵活控制这个点实现歌词与歌声同步。

Android 中使用 LinearGradient 是实现渐变效果的一种常见方式。你可以按照以下步骤来使用 LinearGradient: 1. 创建一个 LinearGradient 对象,指定渐变的起始点和终止点,以及起始颜色和结束颜色。例如: ```java int startColor = Color.RED; int endColor = Color.BLUE; LinearGradient gradient = new LinearGradient(0, 0, 0, textView.getTextSize(), startColor, endColor, Shader.TileMode.CLAMP); ``` 在上面的示例中,我们指定了渐变的起始点 (0, 0) 和终止点 (0, textView.getTextSize()),起始颜色为红色,结束颜色为蓝色。Shader.TileMode.CLAMP 表示在渐变范围之外的区域使用边缘的颜色。 2. 将 LinearGradient 应用到需要渐变效果的地方。这可以是 TextView、Paint 或其他支持设置 Shader 的对象。例如,将渐变应用到 TextView 的文本中: ```java TextView textView = findViewById(R.id.textView); textView.getPaint().setShader(gradient); ``` 在上面的示例中,我们通过 `getPaint().setShader(gradient)` 将 LinearGradient 应用到 TextView 的 Paint 中。 3. (可选)在适当的时候,需要清除渐变效果。例如,如果你想要取消 TextView 的渐变效果,可以使用以下代码: ```java textView.getPaint().setShader(null); ``` 这样,TextView 就不再使用 LinearGradient 渐变效果。 请注意,如果你在自定义 View 或绘制自定义图形时使用 LinearGradient,你可以在 `onDraw()` 方法中使用 Canvas 的 `drawRect()`、`drawCircle()` 等方法来绘制图形,并使用 `paint.setShader(gradient)` 来应用渐变效果。 希望这些步骤能够帮助你正确地使用 LinearGradient 实现渐变效果。如果你还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值