Android颜色渐变的两种方式

本文介绍了在Android中实现颜色渐变的两种方法,适用于tab切换界面时改善用户体验。方式1通过拆分ARGB颜色并根据渐变程度计算当前颜色,方式2利用ArgbEvaluator进行颜色转换。
摘要由CSDN通过智能技术生成

在tab切换界面时,经常每个界面都会有一种主题颜色,这时,如果生硬的直接替换颜色,体验会比较差,所以这里记录一下颜色渐变的两种方式(还有其他方式欢迎补充)。

方式1:

将ARGB颜色拆分,获取颜色值,然后根据渐变程度计算当前的颜色,代码如下:

/**
 * 根据其实颜色和渐变程度获取当前渐变色
 * @param fraction 当前分值 0~1
 * @param startColor 起始颜色
 * @param endColor 结束颜色
 */
private fun getCurrentColor(fraction: Float, startColor: Int, endColor: Int): Int {
    val redCurrent: Int
    val blueCurrent: Int
    val greenCurrent: Int
    val alphaCurrent: Int

    val redStart = Color.red(startColor)
    val blueStart = Color.blue(startColor)
    val greenStart = Color.green(startColor)
    val alphaStart = Color.alpha(startColor)

    val redEnd = Color.red(endColor)
    val blueEnd = Color.blue(endColor)
    val greenEnd = Color.green(endColor)
    val alphaEnd = Color.alpha(endColor)

    val redDifference = redEnd - redStart
    val blueDifference = blueEnd - blueSt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值