pdfviewer抖动WillonScope无法正常工作

时间:2020-08-18 13:32:06

标签: android flutter

import 'package:class10/maths/maths.dart'; 
import 'package:flutter/material.dart';
import 'package:flutter_plugin_pdf_viewer/flutter_plugin_pdf_viewer.dart'; 
import 'package:flutter/cupertino.dart';

class Ch1 extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // title: 'Flutter PDF',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Ch1Page(),
    );
  }
}

class Ch1Page extends StatefulWidget {
  @override
  _Ch1PageState createState() => _Ch1PageState();
}

class _Ch1PageState extends State<Ch1Page> {
  String url = "https://norse-posts.000webhostapp.com/math_ncert/ch1.pdf";
  String pdfasset = "assets/sample.pdf";
  PDFDocument _doc;
  bool _loading;

  @override
  void initState() {
    super.initState();
    _initPdf();
  }

  _initPdf() async {
    setState(() {
      _loading = true;
    });
    final doc = await PDFDocument.fromURL(url);
    setState(() {
      _doc = doc;
      _loading = false;
    });
  }

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () {
        debugPrint("onWillPop");
        Navigator.of(context)
            .pushReplacement(MaterialPageRoute(builder: (context) => Maths()));
        return new Future(() => false);
      },
      child: new Scaffold(
          appBar: AppBar(
            title: Text("Chapter 1"),
            centerTitle: true,
            elevation: 0.0,
            backgroundColor: Colors.black,
            leading: IconButton(
              icon: Icon(Icons.arrow_back_ios),
              color: Colors.white,
              iconSize: 30,
              onPressed: () {
                // Navigator.pop(context, true);
                Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(builder: (context) => Maths()),
                );
                // print("Hello");
              },
            ),
          ),
          body: _loading
              ? Center(
                  child: CircularProgressIndicator(),
                )
              : PDFViewer(
                  document: _doc,
                  indicatorBackground: Colors.red,

                  
                )),
    );
  }
}

当我按下android后退按钮时使用pdf查看器时,它导航到主页。 OnwillScope在pdf查看器中不起作用。在上面的代码中,它使用url查看pdf文件。它具有第三条导航路线。 当按下后退按钮导航到该pdf查看器时,它将导航到HomeScreen。我在pdf查看器中使用flutter_plugin_pdf_viewer.dart依赖项。

0 个答案:

没有答案