본문 바로가기
코딩(개발)/Flutter

페이지이동(routes,provider)

by 플랜데버 2021. 1. 29.

pubspec.yaml  - 패키지추가

provider^4.3.2

 

 

lib\screen 폴더생성

lib\screen\firstpage.dart 페이지 생성

import 'package:flutter/material.dart';

class FirstPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('AppTitle-page1'),
      ),
      body: Center(
        child: Text('첫번째 페이지 나와'),
      ),
    );
  }
}

 

lib\screen\second.dart 페이지 생성

import 'package:flutter/material.dart';

class SecondPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('AppTitle-page2'),
      ),
      body: Center(
        child: Text('두번째페이지'),
      ),
    );
  }
}

 

 

main.dart

import 'package:flutter/material.dart';
import 'package:myproject_001/screen/firstpage.dart';
import 'package:myproject_001/screen/second.dart';
import 'package:provider/provider.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Provider<String>.value(
      value: 'share data',
      child: MaterialApp(
        title: 'flutter demo app',
        initialRoute: '/page2',
        routes: {
          '/page1': (context) => FirstPage(),
          '/page2': (context) => SecondPage(),
        },
      ),
    );
  }
}

 

 

 


routes

* main.dart

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {

    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      initialRoute: '/',
      routes: {
        '/': (context) => DatabaseApp(),
        '/add': (context) => AddTodoApp(넘겨줄값),
      },
    );
  }


...
floatingActionButton: Column(
        mainAxisAlignment: MainAxisAlignment.end,
        children: [
          FloatingActionButton(
            child: Icon(Icons.arrow_forward),
            onPressed: () {
              Navigator.of(context).pushNamed('/add');
            },
          ),


 

'코딩(개발) > Flutter' 카테고리의 다른 글

AlertDialog  (0) 2021.02.04
탭 컨트롤러  (0) 2021.02.04
앱 화면 기본 구성  (0) 2021.02.03
플러터 위젯  (0) 2021.01.23
플러터설치 하려고 하니 에러가... 해결방법모음  (0) 2021.01.18

댓글