facebook twitter hatena line email

「Flutter/UI/別widget切出」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==基本サンプル== 呼び出し側 <pre> Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("title1",), ),...」)
 
行36: 行36:
 
   int page = 1;
 
   int page = 1;
 
   HogehogePage({this.page, Key key, String title}) : super(key: key);
 
   HogehogePage({this.page, Key key, String title}) : super(key: key);
 +
  @override
 +
  Widget build(BuildContext context) {
 +
    return Text("hogehoge" + page.toString());
 +
  }
 +
}
 +
</pre>
 +
 +
==パラメータを必須としたい場合のサンプル==
 +
切り出した静的widget
 +
<pre>
 +
import 'package:flutter/material.dart';
 +
class HogehogePage extends StatelessWidget {
 +
  int page = 1;
 +
  HogehogePage({@required this.page, Key key, String title}) : super(key: key);
 
   @override
 
   @override
 
   Widget build(BuildContext context) {
 
   Widget build(BuildContext context) {

2019年12月19日 (木) 14:22時点における版

基本サンプル

呼び出し側

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());
  }
}

パラメータを必須としたい場合のサンプル

切り出した静的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());
  }
}