WillPopScope已被弃用

来源:5-8 Android物理返回兼容处理跳转回调实现

LBruce

2025-02-19

老师好,在我学习到本章节的时候,WillPopScope已被弃用

图片描述

看注释说用PopScope取代
图片描述

于是尝试用PopScope

图片描述

图片描述

结果发现像视频中那样使用WillPopScope的话,可以通过安卓物理按键返回(虽然要点击两下返回键,我用的虚拟机),也可以通过appBar的BackButton返回(从注册页返回登录页)。但是换成PopScope的话,可以正常通过appBar的BackButton返回(从注册页返回登录页),安卓物理按键无论按多少次都没有任何动作。

是我使用的方式不对?还请老师指教,谢谢老师。

写回答

4回答

CrazyCodeBoy

2025-02-25

将:

WillPopScope(
  onWillPop: () async =>
      !(await navigatorKey.currentState?.maybePop() ?? ),

改为:

PopScope(
  canPop: ,
  onPopInvokedWithResult: (didPop,result) async {
    (didPop) {
      ;
    }
     bool canPop= await navigatorKey.currentState?.maybePop() ?? ;
    debugPrint($canPop);
    (!canPop) {
      SystemNavigator.pop();
    }
  },

记得导入下:

import 'package:flutter/services.dart';


1
0

CrazyCodeBoy

2025-02-21

https://img1.sycdn.imooc.com/szimg/fb41d66709bcb37b30160724.jpg

参考下。

0
0

LBruce

提问者

2025-02-20

https://img1.sycdn.imooc.com/szimg/37274b6709b695f614190216.jpg


https://img1.sycdn.imooc.com/szimg/385ad16709b695f613980652.jpg


PopPage的canPop,只接受一个bool值


0
0

CrazyCodeBoy

2025-02-19

https://img1.sycdn.imooc.com/szimg/fb41d66709bcb37b30160724.jpg

参考下。

0
4
LBruce
回复
CrazyCodeBoy
回复 CrazyCodeBoy:老师,这个有啥结论了吗?
2025-02-24
共4条回复

Flutter高级进阶实战-仿哔哩哔哩-掌握Flutter高阶技能

一次性掌握Flutter高阶技能+商业级复杂项目架构设计与开发方案

1746 学习 · 882 问题

查看课程