[ [ Flutter 04 ] Routing ]
1.Main.dart 에 routes 등록
import 'package:flutter/material.dart';
import 'package:linker_manager/screens/lauch_screen.dart';
import 'package:linker_manager/screens/main_screen.dart';
void main() {
runApp(const LinkerManager());
}
class LinkerManager extends StatelessWidget {
const LinkerManager({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: const LauchScreen(),
routes: {
'/MainPage': (BuildContext context) => const MainScreen(),
},
);
}
}
2.Routing 처리
Navigator.of(context).pushNamed("/MainPage");
다른방식의 라우팅
import 'package:flutter/material.dart';
import 'package:toonflix2/screens/detail_screen.dart';
class Webtoon extends StatelessWidget {
final String title, thumb, id;
const Webtoon({
super.key,
required this.title,
required this.thumb,
required this.id,
});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DetailScreen(
title: title,
thumb: thumb,
id: id,
),
fullscreenDialog: true,
),
);
},
child: Column(
children: [
Hero(
tag: id,
child: Container(
width: 250,
clipBehavior: Clip.hardEdge,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15),
boxShadow: [
BoxShadow(
blurRadius: 15,
offset: const Offset(10, 10),
color: Colors.black.withOpacity(0.3),
)
],
),
child: Image.network(
thumb,
headers: const {
"User-Agent":
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",
},
),
),
),
const SizedBox(
height: 10,
),
Text(
title,
style: const TextStyle(
fontSize: 22,
),
),
],
),
);
}
}
위에 위젯 같이 GestureDetector 을 하나만들어서 onTap 이벤트 생성하여 추가
Navigator.push(
context,
MaterialPageRoute(


