Flutter十六進位顏色轉換成顏色對象

  • 2019 年 12 月 30 日
  • 筆記

Flutter中顏色的設置有很多方法,但是一般我使用的有4種 1、Color c1 = Color(0xFF3CAAFA); 2、Color c2 = Color.fromRGBO(60, 170, 250, 1); 3、Color c3 = Color.fromARGB(255, 60, 170, 250); 4、Color c5 = Colors.blue;

但是UI給我們的顏色值是:#808080 ,上面的方法就沒有辦法使用,所以寫一個轉換的方法

import 'dart:ui' show Color;      class ColorsUtil {    /// 十六進位顏色,    /// hex, 十六進位值,例如:0xffffff,    /// alpha, 透明度 [0.0,1.0]      static Color hexToColor(String s) {      // 如果傳入的十六進位顏色值不符合要求,返回默認值      if (s == null || s.length != 7 ||          int.tryParse(s.substring(1, 7), radix: 16) == null) {        s = '#999999';      }        return new Color(int.parse(s.substring(1, 7), radix: 16) + 0xFF000000);    }  }