flutter 基礎佈局 四

MaterialApp  主題專用less

Material  一張白紙ide

Scaffold  腳手架 有導航欄 有body函數

crossAxisAlignment: CrossAxisAlignment.center, 文字對齊方式ui

MainAxisAlignment.spaceEvenly 平均分佈spa

ListView中加載順序 垂直方向 對比column 他能夠滾動code

import 'package:flutter/material.dart';

void main() => runApp(Demo2());

class Demo2 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
        title: '123',
        home: new Scaffold(
          body: new ListView(children: <Widget>[
            new Image.asset('assets/lake.jpg'),
            new MyTitleBar(),
            new MyButton(),
            new MyText(),
          ],)
        ));
  }
}

class MyTitleBar extends StatelessWidget {
  Widget build(BuildContext context) {
    return new Container(
      padding: new EdgeInsets.all(32.0),
        child: new Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: <Widget>[
        new Expanded(
            child: new Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            new Text("今每天氣會很好"),
            new Text(
              "陰到多雲,PM2.5",
              style: TextStyle(color: Colors.black26),
            )
          ],
        )),
        new Icon(Icons.star),
        new Text("14")
      ],
    ));
  }
}


class MyText extends StatelessWidget{
  Widget build(BuildContext context){
    return new Container(padding:new EdgeInsets.all(32.0),child: new Text('因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        '因爲構建每一個列的代碼幾乎是相同的,所以使用一個嵌套函數,如buildButtonColumn,它會建立一個顏色爲primary color,包含一個Icon和Text的 Widget 列。'
        ''
        ''),);
  }
}

class MyButton extends StatelessWidget{

  Widget build(BuildContext){
    return new Row(
      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
      children: <Widget>[
      button(Icons.mode_comment,'評論'),
      button(Icons.mode_comment,'評論'),
      button(Icons.mode_comment,'評論'),
    ],);
  }


  Widget button(icon,title){
    return new Column(children: <Widget>[
      new Icon(icon),
      new Text(title)
    ],);
  }
}
相關文章
相關標籤/搜索