이번에는 WillPopScope을 통해 뒤로가기를 누르면 전 화면으로 넘어가도록 하는 방법에 대해 정리한다. 흔히 아이폰이나 현재 나오고 있는 안드로이드 폰 같은 경우 뒤로가기 버튼이나 홈 버튼 없이 제스쳐를 통해 해당 행동을 제어하고 있다.
하지만 그 반대의 경우로 홈, 뒤로가기 버튼이 존재한다면 해당 버튼을 눌렀을 때, 재 역활을 할 수 있도록 설정하여야 한다.
WillPopScope
willPopScope 위젯은 주로 Scffold 위젯을 감싸서 뒤로가기 버튼을 제어할때 자주 사용한다. 사용 방법은 리턴하는 Scaffold 부분을 willPopScope로 감싸고, onWillPop을 통해 이를 제어한다.
현재 여기서 사용하고 있는 컨트롤러는 https://jheaon.tistory.com/220 여기서 생성했던 인스턴스를 의미한다.
- main.dart
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class MainScreen extends StatefulWidget {
const MainScreen({super.key});
@override
State<MainScreen> createState() => _MainScreenState();
}
class _MainScreenState extends State<MainScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
),
body: WillPopScope(
onWillPop: () async{
if (await controller.canGoBack()){
await controller.goBack();
return false;
}
return true;
},
child: WebViewWidget(controller: controller)
),
);
}
}
'FrameWork > Flutter' 카테고리의 다른 글
StatefulWidget와 StatelessWidget 알아보기 (0) | 2023.11.09 |
---|---|
Flutter 프로젝트 디렉토리 구조, 위젯 알아보기 (0) | 2023.11.09 |
웹 뷰(WebView) 사용하기 (1) | 2023.11.09 |
안드로이드 스튜디오 zsh: command not found: flutter 오류 해결 방법 (0) | 2023.11.08 |
Flutter 맥에서 설치하고 기본 설정하기 (0) | 2023.11.08 |