Flutter之Color對象(譯)

Color對象

color是一個ARGB(A透明度,R就是red,G是gree,B是blue,RGB是光學三原色)格式的不可變的32位值.css

例如flutter的logo,是徹底不透明的,red部分值是0x42 (66),gree部分值是0xA5 (165),blue部分值是0xF5 (245)。在顏色值通用「哈希語法」中,它能夠寫爲#42A5F5。html

接下來是一些寫法api

Color c = const Color(0xFF42A5F5);
Color c = const Color.fromARGB(0xFF, 0x42, 0xA5, 0xF5);
Color c = const Color.fromARGB(255, 66, 165, 245);
Color c = const Color.fromRGBO(66, 165, 245, 1.0);複製代碼

若是在使用color時遇到沒有渲染出來的問題,檢查一下顏色值是8位16進制仍是6位16進制。若是是6位16進制,會默認在前面補兩個0,這樣這個顏色就是徹底透明瞭。bash

Color c1 = const Color(0xFFFFFF); // fully transparent white (invisible)  徹底透明
Color c2 = const Color(0xFFFFFFFF); // fully opaque white (visible) 徹底不透明複製代碼

同時colors裏面定義了一些特殊的顏色類型ide


Implementers: 函數

  • ColorSwatch
  • MaterialStateColor

  • 構造函數:

    Color(int value)                                                                                                                ui

    int的低32位做爲參數來構造顏色                                                                                        constspa

    Color.fromARGB(int a, int r, int g, int b)                                                                           code

    用4個 int型的低8位整數做爲參數來構造顏色                                                                          consthtm

    Color.fromRGBO(int r, int g, int b, double opacity)                                                            

    用red,gree,blue,opacity(0到1的小數)做爲參數來建立一個顏色對象,相似於css中rgba( )        const 


    屬性:

    alphaint :透明度的值,只讀

    blueint:blue顏色的值,只讀

    greenint:gree顏色的值,只讀

    hashCodeint:hash code 的值,只讀, override

    opacitydouble:透明度的小數類型的值,只讀

    redint:red顏色的值,只讀

    valueint:當前顏色的32位值  ,final

    runtimeTypeType:對象的運行時類型,只讀, inherited


    方法:

    computeLuminance( ) → double:返回0到1之間的亮度值,0表示最暗,1表示最亮

    toString( ) → String:返回此對象的字符串表示形式 ,override

    withAlpha(int a) → Color: 返回一個新的顏色,但透明度被傳入的參數替換,參數的值區間在0到255

    withBlue(int b) → Color:返回一個新的顏色,但blue部分被傳入的參數替換,參數的值區間在0到255

    withGreen(int g) → Color: 返回一個新的顏色,但gree部分被傳入的參數替換,參數的值區間在0到255

    withOpacity(double opacity) → Color: 返回一個新的顏色,但透明度被傳入的參數替換,參數的值區間在0.0到1.0

    withRed(int r) → Color: 返回一個新的顏色,但red部分被傳入的參數替換,參數的值區間在0到255

    noSuchMethod(Invocation invocation) → dynamic:訪問不存在方法或屬性時會調用該方法


    運算子方法:

    operator ==(dynamic other) → bool:覆蓋雙等號運算 ,override


    靜態方法:

    alphaBlend(Color foreground, Color background) → Color:將第一個參數做爲透明顏色覆蓋到第二個參數上,返回組合成的顏色

    lerp(Color a, Color b, double t) → Color:在兩種顏色之間進行線性插值


    原文連接,不許確的地方歡迎指出

    相關文章
    相關標籤/搜索