Dart & Flutter

Flutter__004

HELLICAT 2024. 8. 18. 19:36
반응형

탭의 이벤트를 감지하기 위해서 그페이지로 보낼 수 있도록 하는 이벤트를 감지하는 위젯은

 

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를 껏다 다시 킨다.)

728x90