Add optional two page mode

This commit is contained in:
2025-07-25 17:57:53 +02:00
parent ef30e6235d
commit d06cf73dd9

View File

@@ -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(