「Flutter/UI/別widget切出」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→パラメータを必須としたい場合のサンプル) |
|||
行44: | 行44: | ||
==パラメータを必須としたい場合のサンプル== | ==パラメータを必須としたい場合のサンプル== | ||
+ | @required をつければ良いが、パラメータを追加せずクラスをロードしてもビルドが通った・・。 | ||
+ | |||
切り出した静的widget | 切り出した静的widget | ||
<pre> | <pre> |
2019年12月19日 (木) 14:23時点における版
基本サンプル
呼び出し側
Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("title1",), ), body: HogehogePage(),
切り出した静的widget
import 'package:flutter/material.dart'; class HogehogePage extends StatelessWidget { HogehogePage({Key key}) : super(key: key); @override Widget build(BuildContext context) { return Text("hogehoge"); } }
プロパティ付きサンプル
呼び出し側
Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("title1",), ), body: HogehogePage(page: page),
切り出した静的widget
import 'package:flutter/material.dart'; class HogehogePage extends StatelessWidget { int page = 1; HogehogePage({this.page, Key key, String title}) : super(key: key); @override Widget build(BuildContext context) { return Text("hogehoge" + page.toString()); } }
パラメータを必須としたい場合のサンプル
@required をつければ良いが、パラメータを追加せずクラスをロードしてもビルドが通った・・。
切り出した静的widget
import 'package:flutter/material.dart'; class HogehogePage extends StatelessWidget { int page = 1; HogehogePage({@required this.page, Key key, String title}) : super(key: key); @override Widget build(BuildContext context) { return Text("hogehoge" + page.toString()); } }