본문 바로가기
Hybrid/Flutter

Flutter] 백버튼 이벤트 처리

by 김마리님 2024. 7. 4.

안드로이드에는 뒤로 갈 수 있는 백버튼이 있다. 이에 대해서 이벤트 처리를 할 일이 있어서 공부해야한다.

백버튼 이벤트를 감지하려면 WillPopScope를 사용하면 된다.

예시 : 

class MyPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async {
        // true면 백버튼 활성화, false는 백버튼 비활성화
        return false;
      },
      child: Scaffold(
        appBar: AppBar(
          title: Text('뒤로 가기 처리 예제'),
        ),
        body: Center(
          child: Text('뒤로 가기 버튼을 눌러보세요.'),
        ),
      ),
    );
  }
}

 

 

 

근데 willPopScope는 3.12부터 deprecate되서 대신 PopScope를 사용하면 된다.

예시 : 

class MyPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return PopScope(
      // true면 백버튼 활성화, false는 백버튼 비활성화
    canPop: false,
      onPopInvoked: (bool didPop) {
        print("didpop ? $didPop");
      },
      child: Scaffold(
        appBar: AppBar(
          title: Text('뒤로 가기 처리 예제'),
        ),
        body: Center(
          child: Text('뒤로 가기 버튼을 눌러보세요.'),
        ),
      ),
    );
  }
}
I/flutter (21301): didpop ? false
반응형

'Hybrid > Flutter' 카테고리의 다른 글

Dart] 2. Collection  (1) 2024.06.14
Dart] 1. 기초문법  (0) 2024.06.13