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

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

前回

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

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

Single-child layout widgets

BoxDecorationクラス

borderRadiusプロパティ

角丸の図形を表現できます。

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 mediaQuery = MediaQuery.of(context);

    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: Text('テスト中です。'),
          ),
          body: Center(
            child: Container(
              decoration: BoxDecoration(
                  color: Colors.green,
                  border: Border.all(width: 10.0, color: Colors.red),
                  borderRadius: BorderRadius.all(Radius.circular(100))),
              height: 100,
              width: 200,
            ),
          )),
    );
  }
}

角丸になりました!

shapeプロパティ

shapeプロパティで円か四角の図形を描くことができます。
でもBoxDecoration(Container?)ウィジェットってもともと四角形ですよね?

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 mediaQuery = MediaQuery.of(context);

    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: Text('テスト中です。'),
          ),
          body: Center(
              child: Column(children: <Widget>[
            // 丸です。
            Container(
              decoration: BoxDecoration(
                color: Colors.green,
                shape: BoxShape.circle,
              ),
              height: 200,
              width: 200,
            ),
            // 四角です。
            Container(
              decoration: BoxDecoration(
                color: Colors.red,
                shape: BoxShape.rectangle,
              ),
              height: 200,
              width: 200,
            ),
          ]))),
    );
  }
}

こうなりました!

最後に

図形が描画されるとおお!っとなって楽しいですね😏

今日はここまで!