2020/10/18 Flutter : Row and Column classesの訳

Basic Flutter layout concepts

Flutter は、UI が (たとえば) XML ファイルまたは類似のコードではなく、コードで構築されているため、他のフレームワークとは異なります。ウィジェット(Widget)は、フラッター UI の基本的な構成要素です。このコードラボを進めるにつれて、Flutterのほとんどすべてがウィジェットであることを学びます。ウィジェットは、UI の特定の部分を記述するimmutable(不変な)オブジェクトです。また、Flutter ウィジェットは、既存のウィジェットを組み合わせてより洗練されたウィジェットを作成できることを意味し、組み合わせ可能であることを学びます。このコードラボの最後に、名刺を表示する Flutter UI の構築に、学習した内容を適用します。

Row and Column classes

RowウィジェットとColumnウィジェットは、複数のウィジェットをレイアウトするためのウィジェットです。

RowウィジェットとColumnウィジェットはchildrenプロパティを持っています。

RowとColumnはchildrenプロパティに設定されたウィジェットの親ウィジェットと見なされます。

Rowウィジェットはchildrenのウィジェットを水平方向にレイアウト(配置)します。

Columnウィジェットは垂直方向にレイアウト(配置)します。

sample1-1

//sample1-1
//main.dart

import 'package:flutter/material.dart';

void main(){
  runApp(MyApp(),);
}

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context){
    return MaterialApp(
      home:Scaffold(
        appBar:AppBar(),
        body:MyWidget(),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Row(
      children: [
        GreenBox(),
        GreenBox(),
        GreenBox(),
      ],
    );
  }
}

class GreenBox extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: 100,
      height: 100,
      decoration: BoxDecoration(
        color: Colors.green,
        border: Border.all(),
      ),
    );
  }
}

sample1-1(result)


sample1-2

//sample1-2
//main.dart

import 'package:flutter/material.dart';

void main(){
  runApp(MyApp(),);
}

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context){
    return MaterialApp(
      home:Scaffold(
        appBar:AppBar(),
        body:MyWidget(),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        GreenBox(),
        GreenBox(),
        GreenBox(),
      ],
    );
  }
}

class GreenBox extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      width: 100,
      height: 100,
      decoration: BoxDecoration(
        color: Colors.green,
        border: Border.all(),
      ),
    );
  }
}

sample1-2(result)

 

参考

https://flutter.dev/docs/codelabs/layout-basics

https://flutter.dev/docs/codelabs/layout-basics#row-and-column-classes

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です