AppBar中的后退按钮显示黑色屏幕抖动

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

我具有底部的选项卡导航器,其中包含A和B屏幕,在B屏幕内部,我有小部件可以导航到C页面,而在C页面内部,我想添加后退箭头以返回上一屏幕(B屏幕),所以。 。我有一个简单的小部件,代码看起来像这样

@override
  Widget build(BuildContext context) {
    return SafeArea(
        child: Scaffold(
            resizeToAvoidBottomPadding: false,
            appBar: AppBar(
              leading: IconButton(
                icon: Icon(Icons.arrow_back),
                onPressed: () => Navigator.of(context).pop(),
              ),
              title: Text("XXX"),
              centerTitle: true,
            ),
            body: detail()));
  }

问题是,每当我单击后退箭头时,它就会变成黑屏。。。我不知道是什么问题。所以,有什么方法可以转到上一个屏幕?这就是我从B屏幕导航到C页面的方式

InkWell(
                      onTap: () {Navigator.of(context).pushReplacement(MaterialPageRoute(
                            builder: (context) => new NextScreen(check: values)));
                      },
                      child: Text(
                        "Next...",
                        style: TextStyle(
                          fontSize: 13.0,
                        ),
                      ),
                    )
flutter navigation appbar
1个回答
0
投票

之所以看到空白屏幕是因为您使用pushReplacement进行了导航。 pushReplacement的作用是它将导航到下一个屏幕,而不会堆积到该路线,这意味着该应用将使您忘记最后一个屏幕是您的屏幕B。请尝试使用Navigator.push()。这是一个例子:

onPressed: () {
  Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => ScreenC()),
  );
}
© www.soinside.com 2019 - 2024. All rights reserved.