如何获取Flutter中类似0xFFff4b4b格式的十六进制颜色代码?
在Flutter中使用自定义十六进制颜色代码
1. 理解Flutter的颜色格式
你提到的0xFFff4b4b是Flutter采用的ARGB十六进制格式:
- 前两位
FF代表Alpha(透明度):FF是完全不透明,00是完全透明,中间值对应不同透明度 - 后六位
ff4b4b是标准的RGB颜色值,对应红、绿、蓝三色的十六进制分量
2. 获取目标颜色的ARGB代码
- 从设计工具(Figma、Photoshop、Sketch等)复制普通的RGB/HEX颜色(比如
#ff4b4b),在前面加上不透明的Alpha前缀FF,就得到0xFFff4b4b - 如果需要半透明效果,替换Alpha值即可:比如50%透明度的同色,Alpha用
80,对应0x80ff4b4b
3. 代码替换示例
把你现有代码中的Colors.red替换为自定义十六进制颜色即可:
class _SplashState extends State<Splash> { var customFontWhite = GoogleFonts.coiny( textStyle: const TextStyle(color: Colors.white, letterSpacing: 3, fontSize: 28)); @override Widget build(BuildContext context) { return Scaffold( // 替换为自定义十六进制颜色 backgroundColor: Color(0xFFff4b4b), body: Center( child: Text( 'Tic-Tac-Toy', style: customFontWhite, ), ), ); } }
4. 简化写法(可选)
如果不想每次都手动补全Alpha前缀,可以自定义扩展方法解析普通HEX字符串:
// 自定义扩展方法,支持解析#RRGGBB或RRGGBB格式 extension HexColor on Color { static Color fromHex(String hexString) { final cleanedHex = hexString.replaceFirst('#', ''); final fullHex = cleanedHex.length == 6 ? 'FF$cleanedHex' : cleanedHex; return Color(int.parse(fullHex, radix: 16)); } } // 使用方式 backgroundColor: HexColor.fromHex('#ff4b4b'),
内容的提问来源于stack exchange,提问作者saba omer
相关产品推荐
相关产品推荐

