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; bool isFullscreen = false;
late Future<bool> documentLoaded; late Future<bool> documentLoaded;
PdfDocument? document; PdfDocument? document;
bool twoPageMode = true;
@override @override
void initState() { void initState() {
@@ -79,7 +80,21 @@ class _SheetViewerPageState extends State<SheetViewerPage> {
if (snapshot.hasData && document != null) { if (snapshot.hasData && document != null) {
numPages = document!.pages.length; 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) { onTapUp: (TapUpDetails details) {
// Get the size of the screen // Get the size of the screen
final screenWidth = MediaQuery.of(context).size.width; final screenWidth = MediaQuery.of(context).size.width;
@@ -123,14 +138,19 @@ class _SheetViewerPageState extends State<SheetViewerPage> {
), ),
], ],
), ),
// PdfPageView( Visibility(
// key: ValueKey(page), visible: twoPageMode == true,
// document: document, child: PdfPageView(
// pageNumber: page + 1, key: ValueKey(page),
// alignment: Alignment.center, document: document,
// ), pageNumber: page + 1,
alignment: Alignment.center,
),
),
], ],
), ),
),
],
); );
} else if (snapshot.hasError) { } else if (snapshot.hasError) {
return Center( return Center(