【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part68 Painting and effects
「基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は ウィジェット編 ( part68 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part67 Multi-child layout widgets
今回からPainting and effectsについて学びます。
Painting and effects
painting and effets
のセクションではウィジェットに効果を与えるウィジェット、の学習になります。
HTMLでいうところのCSSのような感じでしょうか…違いますね。
DecoratedBoxウィジェット
DecoratedBox
ウィジェットは名前の通りデコレーション(装飾)を行うウィジェットです。
decorationプロパティ
decoration
プロパティはBoxDecorationクラスのインスタンスを引数に渡します。
BoxDecorationクラスは以前に出てきましたね。
【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part27 Single-child layout widgets
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(home: new MyApp()));
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _State();
}
}
class _State extends State<MyApp> {
int _index = 0;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('テスト中です。'),
),
body: DecoratedBox(
position: DecorationPosition.background,
decoration: BoxDecoration(
color: const Color(0xFFFFFFFF),
border: Border.all(
color: const Color(0xFF000000),
style: BorderStyle.solid,
width: 4.0,
),
borderRadius: BorderRadius.zero,
shape: BoxShape.rectangle,
boxShadow: const <BoxShadow>[
BoxShadow(
color: Color(0x66000000),
blurRadius: 10.0,
spreadRadius: 4.0,
)
],
),
child: Container(
child: Container(
width: 200,
height: 200,
padding: EdgeInsets.all(20),
child: box(),
),
),
),
));
}
Widget box(
{double height = 50,
double width = 50,
Color color = Colors.green,
String txt = "0"}) {
return Container(
margin: const EdgeInsets.all(2),
height: height,
width: width,
color: color,
child: Text(txt));
}
}
最後に
本書はあっさり2行で説明😅
んでも以前に紹介してますからね。
今日はここまで!
参考
DecoratedBox – Flutter Widget Livebook (flutter-widget.live)
ディスカッション
コメント一覧
まだ、コメントがありません