【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part37 Single-child layout widgets

基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は ウィジェット編 ( part37 )です。

前回

【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part36 Single-child layout widgets

引き続き、Single-child layout widgetsについて学びます。

Single-child layout widgets

Spacerウィジェット

Spacerウィジェットはスペースをとるためのウィジェットです。
・・・スペースをとるためだけに存在します!

HTMLでいうと のような存在でしょうか。

RowColumnsウィジェットでよく利用されるようです。
積極的に使用しても問題ないということでしょうかね?

import 'dart:math';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(home: new MyApp()));
}

var ok = false;

class MyApp extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _State();
  }
}

class _State extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    var _random = new Random(); // 本書でもこの定義書いてくださいよ・・・。

    return MaterialApp(
        home: Scaffold(
            appBar: AppBar(
              title: Text('テスト中です。'),
            ),
            body: Row(
              mainAxisAlignment: MainAxisAlignment.spaceAround,
              children: <Widget>[
                Container(
                  color: Colors.blue,
                  width: 100,
                  height: 100,
                ),
                Spacer(
                  flex: 1, // 重みづけです。
                ),
                Container(
                  color: Colors.red,
                  width: 100,
                  height: 100,
                ),
                Spacer(
                  flex: 2, // 重みづけです。
                ),
                Container(
                  color: Colors.yellow,
                  width: 100,
                  height: 100,
                ),
              ],
            )));
  }
}

文字通り、空白があきます😑

 

最後に

flexプロパティは大きさを明示的に指定していないのにいい感じの空白を作ってくれる優れものですね!

今日はここまで!