条形码扫描后导航到新页面,而无需返回原始页面

时间:2019-10-26 19:20:34

标签: flutter

使用此方法:https://github.com/apptreesoftware/flutter_barcode_reader

临页:

class HomePage extends StatelessWidget {
    Widget build(BuildContext context) {
        // Skipped all boilerplates
        child: new MaterialButton(
            onPressed: scan, 
            child: new Text("Scan")
        ),
    }

    Future scan() async {
        String barcode = await BarcodeScanner.scan();
        Navigator.pushNamed(context, '/scanResult');
    }
}

当我运行该应用程序时,它将显示主页。然后,当我单击按钮时,它将显示条形码扫描页面。扫描完成后,它将短暂返回首页,只有在此之后,它将导航到/ scanResult页面。

我如何直接导航到/ scanResult页面,而没有扫描页面将我重定向到首页?

FWIW,BarcodeScanner.scan()在Android上调用一个Activity(我认为),所以我是否受到库的限制?我不知道,从未接触过Android原生开发,我只是感到可疑。

GIF可以更好地解释这一点:

enter image description here

如果您注意到,在扫描之后,在导航到下一页之前,它会非常简短地显示主页。

1 个答案:

答案 0 :(得分:0)

我认为使用 popAndPushNamed 可能会解决您的问题,它将首先弹出您的扫描页面,然后再将您重定向到空白页面。