Flutter中用十六进制代码设置Container颜色报错求助
Flutter中Color使用十六进制字符串报错的解决方法
错误原因
Flutter的Color构造函数不支持直接传入字符串格式的十六进制颜色代码,它只接受整数类型的颜色值,所以Color('#260033')会触发类型错误。
解决方法
这里提供三种常用的正确写法:
方法1:使用带透明度前缀的整数十六进制值
默认不透明的颜色可以在十六进制值前加上0xFF(FF表示完全不透明,透明度范围是00到FF):
Container( color: Color(0xFF260033), height: 150.0, width: double.infinity, child: Column( // 补充你的子组件代码 ), )
方法2:使用Color.fromARGB方法
分别传入透明度(0-255,255为完全不透明)、红、绿、蓝通道的十进制数值:
// #260033对应的RGB十进制是38、0、51,透明度设为255 Container( color: Color.fromARGB(255, 38, 0, 51), height: 150.0, width: double.infinity, child: Column( // 补充你的子组件代码 ), )
方法3:使用Color.fromRGBO方法
最后一个参数是透明度(0.0-1.0,1.0为完全不透明):
Container( color: Color.fromRGBO(38, 0, 51, 1.0), height: 150.0, width: double.infinity, child: Column( // 补充你的子组件代码 ), )
内容的提问来源于stack exchange,提问作者suman singh
相关产品推荐
相关产品推荐

