Add optional two page mode
This commit is contained in:
@@ -26,6 +26,7 @@ class _SheetViewerPageState extends State<SheetViewerPage> {
|
||||
bool isFullscreen = false;
|
||||
late Future<bool> documentLoaded;
|
||||
PdfDocument? document;
|
||||
bool twoPageMode = true;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
@@ -79,7 +80,21 @@ class _SheetViewerPageState extends State<SheetViewerPage> {
|
||||
if (snapshot.hasData && document != null) {
|
||||
numPages = document!.pages.length;
|
||||
|
||||
return GestureDetector(
|
||||
return Stack(
|
||||
children: [
|
||||
Container(
|
||||
alignment: Alignment.bottomLeft,
|
||||
margin: EdgeInsets.all(10),
|
||||
child: FloatingActionButton(
|
||||
onPressed: () {
|
||||
setState(() {
|
||||
twoPageMode = !twoPageMode;
|
||||
});
|
||||
},
|
||||
child: Icon(twoPageMode ? Icons.filter_1 : Icons.filter_2),
|
||||
),
|
||||
),
|
||||
GestureDetector(
|
||||
onTapUp: (TapUpDetails details) {
|
||||
// Get the size of the screen
|
||||
final screenWidth = MediaQuery.of(context).size.width;
|
||||
@@ -123,14 +138,19 @@ class _SheetViewerPageState extends State<SheetViewerPage> {
|
||||
),
|
||||
],
|
||||
),
|
||||
// PdfPageView(
|
||||
// key: ValueKey(page),
|
||||
// document: document,
|
||||
// pageNumber: page + 1,
|
||||
// alignment: Alignment.center,
|
||||
// ),
|
||||
Visibility(
|
||||
visible: twoPageMode == true,
|
||||
child: PdfPageView(
|
||||
key: ValueKey(page),
|
||||
document: document,
|
||||
pageNumber: page + 1,
|
||||
alignment: Alignment.center,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
} else if (snapshot.hasError) {
|
||||
return Center(
|
||||
|
||||
Reference in New Issue
Block a user