[Flutter] 입문 10 - 경로
4111 단어 Flutter
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(primaryColor: Colors.redAccent),
home: MyHome(0,'home'),
);
}
}
class MyHome extends StatelessWidget {
int _layerIndex;
String _context;
MyHome(this._layerIndex,this._context);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('layerIndex _$_context _$_layerIndex'),
),
body: Container(
alignment: Alignment(0, 0),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FlatButton(
child: Text('page01'),
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => MyPage(_layerIndex,'page01')));
},
),
FlatButton(
child: Text('page02'),
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => MyPage(_layerIndex,'page02')));
},
)
],
),
),
);
}
}
class MyPage extends StatelessWidget {
int _layerIndex;
String _context;
MyPage(this._layerIndex,this._context);
@override
Widget build(BuildContext context) {
return Scaffold(
body: MyHome(++_layerIndex,_context),
);
}
}
코드 로 되 돌아 가기
Navigator.pop(context);
이름 으로 경로 진행
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(primaryColor: Colors.redAccent),
home: MyHome('home'),
routes: {
'/page01': (context) => MyPage('page01'),
'/page02': (context) => MyPage('page02'),
},
);
}
}
class MyHome extends StatelessWidget {
String _context;
MyHome(this._context);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('layerIndex _$_context'),
),
body: Container(
alignment: Alignment(0, 0),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
FlatButton(
child: Text('page01'),
onPressed: () {
Navigator.pushNamed(context, '/page01');
},
),
FlatButton(
child: Text('page02'),
onPressed: () {
Navigator.pushNamed(context, '/page01');
},
)
],
),
),
);
}
}
class MyPage extends StatelessWidget {
String _context;
MyPage(this._context);
@override
Widget build(BuildContext context) {
return Scaffold(
body: MyHome(_context),
);
}
}
초기 경로 사용
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(primaryColor: Colors.redAccent),
initialRoute: '/',
routes: {
'/':(context) => MyHome('home'),
'page01': (context) => MyPage('page01'),
'/page02': (context) => MyPage('page02'),
},
);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Flutter】DateTime 전월의 일수를 취득한다달의 일수를 취득할 필요가 있어, 의외로 수요 있을까라고 생각했으므로 비망록 정도에 남겨 둡니다. DateTime 날짜에 0을 입력하면 전월 DateTime이 됩니다. 2021년 3월 0일 = 2021년 2월 28일...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.