import 'package:flutter/material.dart'; import 'package:kmpdfkit_demo/widgets/compdfkit/compdfkit_widget.dart'; import 'package:kmpdfkit_demo/widgets/config.dart'; import 'package:kmpdfkit_demo/widgets/events.dart'; import 'package:kmpdfkit_demo/widgets/page_routes.dart'; import '../function/pdf_buttom_annot_fun_widget.dart'; class PDFPageWidget extends StatefulWidget { final String? documentPath; const PDFPageWidget({Key? key, this.documentPath}) : super(key: key); @override State createState() => _PDFPageWidgetState(); } class _PDFPageWidgetState extends State { bool _fullScreen = false; bool isInit = false; @override Widget build(BuildContext context) { return Scaffold( body: Stack( children: [ SafeArea( child: ComPDFKitWidget( documentPath: widget.documentPath, configuration: applyNormalConfiguration(), onComPDFKitWidgetCreate: () { setState(() { isInit = true; }); setReaderViewCallbackListener(onTapMainDocArea: () { setState(() { _fullScreen = !_fullScreen; }); }); }, )), Builder(builder: (context) { return Positioned( top: 0, left: 0, right: 0, child: AnimatedOpacity( opacity: _fullScreen ? 0.0 : 1.0, duration: const Duration(milliseconds: 200), child: AppBar( actions: [ IconButton( onPressed: () { Navigator.pushNamed(context, PageRoutes.settings); }, icon: const Icon(Icons.more_vert)) ], ))); }), Positioned( bottom: 0, left: 0, right: 0, child: AnimatedOpacity( opacity: _fullScreen ? 0.0 : 1.0, duration: const Duration(milliseconds: 200), child: isInit ? const PDFButtonAnnotFunWidget() : Container( color: const Color(0xFFEFF4FD), width: double.infinity, height: 60))), ], ), ); } }