Flutter__004
탭의 이벤트를 감지하기 위해서 그페이지로 보낼 수 있도록 하는 이벤트를 감지하는 위젯은
GestureDetector
GestureDetector는 동작을 감지한다.
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
},
child: Column(
Navigator.push는 해당 widget으로 보내주는데 어디로 보내줄지는 route에 작성하면된다.
return GestureDetector(
onTap: () {
Navigator.push(context, route );
},
route를 만들어주기 위해서는 MaterialPageRoute를 작성해야한다.
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DetailScreen(
id: id,
title: title,
thumb: thumb,
),
),
);
},
이후에 새로운 화면으로 이동하게 되었을 땐 현재 보고있는 Scaffold를 떠난것이기 때문에 새로운 Scaffold를 만들어주어야한다.
Hero Widget
hero widget을 두 개의 화면에 각각 사용하고 각각의 위젯에 같은 태그를 주기만 하면 된다.
Launch URL BROWSER
https://pub.dev/packages/url_launcher
url_launcher | Flutter package
Flutter plugin for launching a URL. Supports web, phone, SMS, and email schemes.
pub.dev
Configuration을 하면 main.dart를 다시 실행해야한다.
Local Storage
Flutter에서는 어떻게 핸드폰 저장소에 데이터를 담을 수 있을까?
https://pub.dev/packages/shared_preferences
shared_preferences | Flutter package
Flutter plugin for reading and writing simple key-value pairs. Wraps NSUserDefaults on iOS and SharedPreferences on Android.
pub.dev
위의 패키지를 설치하고
가장 먼저 핸드폰 저장소와 connection을 만들어야한다. (패키지를 설치했다면 어지간하면 simulator나 emulator를 껏다 다시 킨다.)