天天看點

在Flutter中使用16進制顔色

在Flutter中使用16進制顔色

使用16進制表示顔色是較為主流的方式, 那麼在本篇文章中将簡單講講如何在Flutter中使用16進制顔色.

方法一: 使用原生方法

Flutter中,

Color

類僅接收整數作為參數. 你也可以使用

fromARGB

或者

fromRGBO

.

比如拿到了一個16進制顔色

#b74093

. 因為

Color

還需要傳入透明度,

255

就是最大值(也就是不透明), 轉為16進制就是

0xFF

, 是以我們隻需這樣表示:

正規一點的寫法(可選, 因為大小寫不敏感):

方法二: 接收字元串格式, 轉為Color

建立一個

HexColor

類:

class HexColor extends Color {
  static int _getColorFromHex(String hexColor) {
    hexColor = hexColor.toUpperCase().replaceAll("#", "");
    if (hexColor.length == 6) {
      hexColor = "FF" + hexColor;
    }
    return int.parse(hexColor, radix: 16);
  }

  HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}
           

然後進行調用:

Color color1 = HexColor("b74093");
Color color2 = HexColor("#b74093");
Color color3 = HexColor("#88b74093");
           

感謝

  • How do I use hexadecimal color strings in Flutter? - Stack Overflow
  • Pexels 上的 icon0.com 拍攝的照片

結語

如果你對本篇文章有任何問題, 歡迎在下方評論區, 進行讨論, 或加入阿航的技術小站QQ交流群

原文連結

歡迎通路阿航的技術小站官網, 擷取更多技術幹貨!