Flutter 基本組件之Container

基本組件 -- Container

容器,一個(gè)常用的組件咧栗,是一個(gè)方便繪制、定位和調(diào)整子組件大小的組件.
負(fù)責(zé)創(chuàng)建矩形的可視元素圆丹,可以用BoxDecoration來設(shè)計(jì)樣式居凶,比如背景虫给、邊框和陰影,Container也有邊距侠碧、填充和大小限制抹估。

構(gòu)造方法

Container({
    Key key,
    this.alignment,//控制child的對齊方式
    this.padding, //設(shè)置內(nèi)邊距
    Color color, //設(shè)置背景顏色
    Decoration decoration,//繪制在child下層的裝飾,不能與color同時(shí)使用
    this.foregroundDecoration,//繪制在child上層的裝飾
    double width, //寬
    double height, //高
    BoxConstraints constraints,添加到child上額外的約束條件
    this.margin,//外邊距
    this.transform,//設(shè)置container的變換矩陣弄兜,類型為Matrix4
    this.child, //子組件
  }) : assert(margin == null || margin.isNonNegative),
       assert(padding == null || padding.isNonNegative),
       assert(decoration == null || decoration.debugAssertIsValid()),
       assert(constraints == null || constraints.debugAssertIsValid()),
       assert(color == null || decoration == null,
         'Cannot provide both a color and a decoration\n'
         'The color argument is just a shorthand for "decoration: new BoxDecoration(color: color)".')

常用屬性

屬性名 功能 值所屬類型
alignment topCenter:頂部居中對齊 topLeft:頂部左對齊 topRight:頂部右對齊 center:水平垂直居中對齊 centerLeft:垂直居中水平居左對齊 centerRight:垂直居中水平居右對齊 bottomCenter 底部居中對齊bottomLeft:底部居左對齊 bottomRight:底部居右對齊 Alignment
decoration 容器的修飾器药蜻,用于背景或者border BoxDecoration
margin Container與外部其他組件的距離 值為一個(gè) EdgeInsets 對象。EdgeInsets 對象即可調(diào)用EdgeInsets.all() 方法統(tǒng)一設(shè)置左上右下四條邊的邊距替饿,也可以調(diào)用 EdgeInsets.fromLTRB() 分別設(shè)置左上右下四條邊的邊距
padding Container邊緣與Child之間的距離 值為一個(gè) EdgeInsets 對象语泽。EdgeInsets 對象即可調(diào)用EdgeInsets.all() 方法統(tǒng)一設(shè)置左上右下四條邊的邊距,也可以調(diào)用 EdgeInsets.fromLTRB() 分別設(shè)置左上右下四條邊的邊距
transform 調(diào)整旋轉(zhuǎn)的角度 Matrix4
height 容器高度 double
width 容器寬度 double
child 容器子元素 Widget

BoxDecoration 的構(gòu)造方法

 const BoxDecoration({
    this.color,
    this.image,
    this.border,
    this.borderRadius,
    this.boxShadow,
    this.gradient,
    this.backgroundBlendMode,
    this.shape = BoxShape.rectangle,
  }) : assert(shape != null),
       assert(
         backgroundBlendMode == null || color != null || gradient != null,
         'backgroundBlendMode applies to BoxDecoration\'s background color or '
         'gradient, but no color or gradient was provided.'
       );

代碼

/*
 * Container 組價(jià) 
 */
class ContainerView extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      height: 200.0,
      width: 200.0,
      //    color: Colors.blueGrey,
      alignment: Alignment.centerLeft, // 相對子元素對齊方式
      child: Text("zhangssr"),
      margin: EdgeInsets.all(30.0), //外邊距
      padding: EdgeInsets.fromLTRB(30.0, 0, 0, 0), //內(nèi)間距
      transform: Matrix4.skewY(0.3),
      decoration: BoxDecoration(
        //裝飾视卢,背景邊框等踱卵,不能與 color 屬性同時(shí)設(shè)置,會(huì)繪制在 child 之下据过,也就是會(huì)被 child 覆蓋
        color: Colors.blue,
        //背景邊框
        border: Border.all(
            //邊框顏色
            color: Colors.blue,
            //邊框?qū)挾?            width: 5),
        // 邊框圓角
        borderRadius: BorderRadius.only(
            topLeft: Radius.circular(5.0),
            topRight: Radius.circular(10.0),
            bottomLeft: Radius.circular(15.0),
            bottomRight: Radius.circular(20.0)),
        //漸變效果惋砂,會(huì)覆蓋 color
        gradient: LinearGradient(
            colors: [Color(0xFFFFDEAD), Color(0xFF98FB98), Color(0xFF6495ED)]),
        //陰影效果
        boxShadow: [BoxShadow(color: Color(0xFFFF0000), blurRadius: 5.0)],
        //應(yīng)該是背景混合模式,這個(gè)應(yīng)該比較復(fù)雜绳锅,后面再研究
        backgroundBlendMode: BlendMode.color,
      ),
    );
  }
}
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末西饵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鳞芙,更是在濱河造成了極大的恐慌眷柔,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件积蜻,死亡現(xiàn)場離奇詭異闯割,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)竿拆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門宙拉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人丙笋,你說我怎么就攤上這事谢澈。” “怎么了御板?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵锥忿,是天一觀的道長。 經(jīng)常有香客問我怠肋,道長敬鬓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮钉答,結(jié)果婚禮上础芍,老公的妹妹穿的比我還像新娘。我一直安慰自己数尿,他們只是感情好仑性,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著右蹦,像睡著了一般诊杆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上何陆,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天晨汹,我揣著相機(jī)與錄音,去河邊找鬼贷盲。 笑死宰缤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晃洒。 我是一名探鬼主播慨灭,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼球及!你這毒婦竟也來了氧骤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤吃引,失蹤者是張志新(化名)和其女友劉穎筹陵,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镊尺,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朦佩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了庐氮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片语稠。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖弄砍,靈堂內(nèi)的尸體忽然破棺而出仙畦,到底是詐尸還是另有隱情,我是刑警寧澤音婶,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布慨畸,位于F島的核電站,受9級特大地震影響衣式,放射性物質(zhì)發(fā)生泄漏寸士。R本人自食惡果不足惜檐什,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望弱卡。 院中可真熱鬧厢汹,春花似錦、人聲如沸谐宙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凡蜻。三九已至,卻和暖如春垢箕,著一層夾襖步出監(jiān)牢的瞬間划栓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工条获, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忠荞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓帅掘,卻偏偏與公主長得像委煤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子修档,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容