본문 바로가기
IT 정보/플러터 flutter

백 키 막기 WillPopScope 코드 지원이 멈춘다고 합니다. 수정법

by 쩜오개미 2024. 1. 17.

@override
  Widget build(BuildContext context) {

    return WillPopScope(    // <-  WillPopScope로 감싼다. 백버튼 없애기 위해
      onWillPop: () {
        setState(() {
          _msg = "You can not get out of here! kkk";
        });
        return Future(() => false);
      },

      child: Scaffold(

 

// ,,, 코드 작성

 

 

 

 

이런 식으로 위젯 build 전체를 감싸서 사용하던 WillPopScope에 어느날 취소선이 그어지고 

마우스 오버해보니 특정 플러터 버전 이후부터는 지원을 안한다고 한다

 

그래서 코드를 수정하였다.

@override
Widget build(BuildContext context) {

  return PopScope(    // <-  PopScope로 감싼다. 백버튼 없애기 위해
    canPop: false, //  false일 경우 : 기본 탑재 되어 있는 뒤로가기 버튼 비활성화
    onPopInvoked: (bool didPop) {
      if (didPop) {
        // IOS 뒤로가기 버튼, ButtonWidget이건 뒤로가기 제스쳐가 감지되면 호출 된다.
        print('didPop호출');
        return;
      }
    },

    child: Scaffold(

 

문제가 없을지는 좀 더 운용을 해봐야겠다.

 

문제가 발생하면 하단에 추가로 내용 작성할 예정

728x90
반응형

댓글