Android 实现颜色渐变的一个小 tip

发布时间:2019-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android 实现颜色渐变的一个小 tip脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

简评:TL;DR: 如果要实现某个颜色到透明的渐变时,记得不要改动颜色的 RGB 值。

Tip: 如果你想要创建从某个颜色到透明的渐变(gradient)背景,那就要小心使用 @android:color/transparent 了。

因为当 AndROId 在绘制渐变(gradient)时,需要指定两种颜色代表渐变部分的两边(startColor - centerColor, centerColor - endColor, startColor - endColor)。

Android 将会计算颜色的四个组成部分(A, R, G, B)的差值。比如,我们想实现下面两个颜色的渐变:

clipboard.png

在渐变过程的特定阶段的颜色值,可以表示为:

clipboard.png

当使用 @android:color/transparent 时,要记住虽然其看起来确实是透明的(即 A = #00),但也有自己的 RGB 值。如果你看过 android.graphics 中的 Color 类,你会发现 Color.TRANSPARENT 等于 0(#00000000)也就是一个完全透明的黑色。

Android 实现颜色渐变的一个小 tip

下面来看一个例子,我们定义如下的一个 gradient:

Android 实现颜色渐变的一个小 tip

其显示效果是这样的:

Android 实现颜色渐变的一个小 tip

是不是感觉怪怪的。因为我们其实是将一个 #Ff27AE60 的绿色渐变到了一个完全透明的黑色。

Android 实现颜色渐变的一个小 tip

因此「当我们要实现某个颜色到透明的渐变时,不要改动颜色的 RGB 值」。
因此,上面的例子应该改成这样(只变动 Alpha 值):

Android 实现颜色渐变的一个小 tip

显示效果:

Android 实现颜色渐变的一个小 tip

               显示效果

Android 实现颜色渐变的一个小 tip

              渐变过程

英文原文:Android Dev Tip #3

脚本宝典总结

以上是脚本宝典为你收集整理的Android 实现颜色渐变的一个小 tip全部内容,希望文章能够帮你解决Android 实现颜色渐变的一个小 tip所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。