Android 实现颜色渐变的一个小 tip
来源:互联网 发布:做微商好还是做淘宝好 编辑:程序博客网 时间:2024/06/11 19:51
价值 | 思考 | 共鸣
简评:TL;DR: 如果要实现某个颜色到透明的渐变时,记得不要改动颜色的 RGB 值。
Tip: 如果你想要创建从某个颜色到透明的渐变(gradient)背景,那就要小心使用 @android:color/transparent 了。
因为当 Android 在绘制渐变(gradient)时,需要指定两种颜色代表渐变部分的两边(startColor - centerColor, centerColor - endColor, startColor - endColor)。
Android 将会计算颜色的四个组成部分(A, R, G, B)的差值。比如,我们想实现下面两个颜色的渐变:
在渐变过程的特定阶段的颜色值,可以表示为:
当使用 @android:color/transparent 时,要记住虽然其看起来确实是透明的(即 A = #00),但也有自己的 RGB 值。如果你看过 android.graphics 中的 Color 类,你会发现 Color.TRANSPARENT 等于 0(#00000000)也就是一个完全透明的黑色。
下面来看一个例子,我们定义如下的一个 gradient:
其显示效果是这样的:
是不是感觉怪怪的。因为我们其实是将一个 #FF27AE60 的绿色渐变到了一个完全透明的黑色。
因此「当我们要实现某个颜色到透明的渐变时,不要改动颜色的 RGB 值」。
因此,上面的例子应该改成这样(只变动 Alpha 值):
显示效果:
显示效果
渐变过程
英文原文:Android Dev Tip #3
旧文推荐:在 Android 中使用协程(Coroutine)
React Native 轻松集成统计功能(Android 篇)
理解 Android 新的依赖方式
▼点击阅读原文获取文中链接
- Android 实现颜色渐变的一个小 tip
- Android简单实现一个颜色渐变的ProgressBar
- android实现颜色渐变
- Android 状态栏颜色渐变实现
- Android平台下使用ormLite的一个小Tip
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- iOS实现一个颜色渐变的弧形进度条
- ios渐变颜色的实现
- android 数字选择器中文字颜色透明度渐变的实现
- Android-->颜色渐变动画的实现,应用市场跳转
- linux vi常用命令
- Android Studio和xCode快捷键,WINDOWS和MAC
- JS_点亮或熄灭灯
- CentOS 6安装心得
- 详解制作根文件系统
- Android 实现颜色渐变的一个小 tip
- 分布式与集群的区别
- Trash Removal uva1111/uvalive5138 World Final 2011 K 计算几何
- mainwindow.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __cdecl about::about(class QWidget *)" (??0abo
- hive add jar 报java.net.UnknownHostException: user错误
- Hadoop之CapacityScheduler队列管理的使用
- Python摘要算法
- TF,Keras,Cafe,Theano,torch
- TCP options