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依赖项。