Flutter color的用法

本文详细介绍了ARGB颜色模型中透明度的具体数值对应关系,从完全不透明(0xFF)到完全透明(0x00),每5%为一个级别,提供了开发者在设置颜色透明度时的精确数值对照表。

ARGB颜色透明度全量

color: Color(0xFF5e12a9)

00%=FF(不透明) 
5%=F2 
10%=E5 
15%=D8 
20%=CC 
25%=BF 
30%=B2 
35%=A5 
40%=99 
45%=8c 
50%=7F 
55%=72 
60%=66 
65%=59 
70%=4c 
75%=3F 
80%=33 
85%=21 
90%=19 
95%=0c 
100%=00(全透明)

 

Flutter 中设置颜色渐变主要依赖于 `BoxDecoration` 和 `Gradient` 类,其中 `Gradient` 提供了多种渐变类型,包括线性渐变 `LinearGradient`、放射状渐变 `RadialGradient` 和扇形渐变 `SweepGradient`。这些渐变可以应用于背景、边框、文字等 UI 元素上,从而实现丰富的视觉效果。 ### 设置背景颜色渐变 如果需要为一个 `Container` 添加颜色渐变背景,可以通过 `BoxDecoration` 来实现。以下是一个使用线性渐变 `LinearGradient` 的示例代码: ```dart Container( decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [Color(0xFF94377F), Color(0xFFF79283)], ), ), ) ``` 在这个例子中,渐变从顶部中间开始,到底部中间结束,颜色从紫色(`0xFF94377F`)渐变到粉红色(`0xFFF79283`)[^3]。 ### 设置文字颜色渐变 Flutter 中的文字渐变色可以通过 `ShaderMask` 组件结合 `LinearGradient` 实现。具体做法是创建一个 `LinearGradient` 对象,并通过 `createShader` 方法生成一个 `Shader`,然后将其应用到 `ShaderMask` 上。以下是一个实现文字渐变色的示例代码: ```dart ShaderMask( shaderCallback: (Rect bounds) { return const LinearGradient( begin: Alignment.centerLeft, end: Alignment.centerRight, colors: [Color(0xFF6ffffd), Color(0xFFf8fec4)], ).createShader(Offset.zero & bounds.size); }, blendMode: BlendMode.srcATop, child: Text( "老板位", style: TextStyle( fontSize: ScreenUtil().setSp(19), color: const Color(0xffffffff), fontWeight: FontWeight.w700, ), ), ) ``` 在这个例子中,文字从左侧到右侧由青色(`0xFF6ffffd`)渐变到黄色(`0xFFf8fec4`),并且文字颜色被设置为白色以确保渐变效果能够正确显示[^5]。 ### 设置边框颜色渐变 对于边框的颜色渐变,可以通过 `BoxDecoration` 的 `border` 属性结合 `Gradient` 来实现。然而,需要注意的是,Flutter 的 `BoxDecoration` 并不直接支持为边框应用渐变色,因此通常需要借助额外的 `Container` 或者使用 `CustomPaint` 来绘制带有渐变色的边框。 ### 渐变色的其他应用 除了背景和文字之外,还可以将渐变色应用于按钮、图标等其他 UI 元素。例如,可以使用 `BoxDecoration` 为按钮添加渐变背景,或者使用 `IconThemeData` 结合 `ShaderMask` 为图标应用渐变色。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值