Android渐变色画笔 自定义View渐变色

本文介绍了在Android开发中实现渐变色背景的方法,包括通过XML配置文件和自定义View使用Paint的setShader方法来实现线性、圆形、角度等不同类型的渐变效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     Android开发中用到渐变色背景场景很多也很容易实现。在res/drawable目录下添加一个xml文件(命名不限)里面的内容大体如下

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:startColor="#FFFFFF”
        android:endColor="#00FFF0"
        android:angle="45" />
</shape>

然后在View控件上引用这个drawable作为背景就可以了

      但是如果我们在在自定义View控件上想让我们的画笔颜色做到上浅下深之类的效果,又应该如果实现呢?paint可以调用settShader方法设置画笔的渐变色。实现shader接口的类分别有

       LinearGradient gradient;//线型渐变色 一把只能在绘制横竖直线 或者矩形图形的时候效果好。
      RadialGradient gradient;//圆形渐变色 就像树了轮廓一样 一环套一环的着色 下一环的半径是比上一环半径的一个radius值
      BitmapShader gradient;  位图型渐变色,其实就相当于把位图当颜色。
      SweepGradient gradient;//角度渐变色
     ComposeShader gradient;//组合渐变色
以上便是几种不同类型的渐变色形式,在实际应用过程中应该根据实际需要使用不同方式。另外在前面的四种渐变色最后面一个Mode参数有三个值
    Shader.TileMode.CLAMP 当所设置的gradient大小扔无法绘制所绘图形时,取离gradient最近的颜色作为填充颜色。即gradient终点颜色作为填充颜色。
   Shader.TileMode.REPEAT 当所设置的gradient大小扔无法绘制所绘图形时,再从头开始进行新一轮的填充知道填满所绘制图形。
   Shader.TileMode.MIRROR 当所设置的gradient大小扔无法绘制所绘图形时,以相反的变色方向进行新一轮的填充(类似于倒影效果)……每次进行新一轮的填充都是以前面的渐变色方向作为参照反方向渐变填充直到填充结束。
附件:渐变色画笔练习
如果你觉得对您有所帮助 转载时别忘了说明出处。

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值