后退按钮正在关闭应用程序

问题描述 投票:0回答:1

设备后退按钮正在关闭应用程序。但应用程序后退按钮可以正常工作。即,

Navigator.pop(context);

有解决这个问题的建议吗?

flutter
1个回答
0
投票

为了防止您的 Flutter 应用程序在按下设备后退按钮时关闭,并确保其行为类似于应用程序的后退按钮 (Navigator.pop(context)),您可以使用 WillPopScope 小部件。该小部件拦截后退按钮按下,允许您控制行为。

import 'package:flutter/material.dart';

class MyScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async {
        // Handle the back button press here
        // Use Navigator.pop(context) to navigate back instead of closing the app
        Navigator.pop(context);
        return false; // Returning false prevents the app from closing
      },
      child: Scaffold(
        appBar: AppBar(
          title: Text('My Screen'),
        ),
        body: Center(
          child: Text('This is the main content of the screen'),
        ),
      ),
    );
  }
}
  • WillPopScope:包裹屏幕小部件以拦截后退按钮 按下。
  • onWillPop:返回按钮时触发的回调 按下。返回 false 会阻止默认行为(这会 关闭应用程序),而 Navigator.pop(context) 手动导航回来 在应用程序的导航堆栈中。
© www.soinside.com 2019 - 2024. All rights reserved.