setting_page_widget.dart 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import 'package:flutter/material.dart';
  2. import 'package:kmpdfkit_demo/widgets/function/setting/setting_pdf_page_turning_widget.dart';
  3. import 'package:kmpdfkit_demo/widgets/function/setting/setting_pdf_themes_widget.dart';
  4. /// setting_page_widget.dart
  5. ///
  6. /// Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
  7. ///
  8. /// THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
  9. /// AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
  10. /// UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
  11. /// This notice may not be removed from this file.
  12. class SettingPageWidget extends StatefulWidget {
  13. const SettingPageWidget({Key? key}) : super(key: key);
  14. @override
  15. State<SettingPageWidget> createState() => _SettingPageWidgetState();
  16. }
  17. class _SettingPageWidgetState extends State<SettingPageWidget> {
  18. bool _showPageTurning = true;
  19. @override
  20. Widget build(BuildContext context) {
  21. return Scaffold(
  22. appBar: AppBar(
  23. title: const Text('Settings'),
  24. ),
  25. body: Builder(builder: (context) {
  26. return Container(
  27. color: Colors.white,
  28. padding: const EdgeInsets.symmetric(horizontal: 8),
  29. child: Column(
  30. crossAxisAlignment: CrossAxisAlignment.start,
  31. children: [
  32. item('Page Turning', 'assets/images/ic_fanye.png', () {
  33. setState(() {
  34. // _showPageTurning = !_showPageTurning;
  35. });
  36. }),
  37. AnimatedOpacity(
  38. opacity: _showPageTurning ? 1.0 : 0.0,
  39. duration: const Duration(milliseconds: 200),
  40. child: const PDFPageTurningWidget(),
  41. ),
  42. item('Themes', 'assets/images/ic_background.png', () {}),
  43. const PDFReaderViewThemesWidget()
  44. ],
  45. ),
  46. );
  47. }));
  48. }
  49. Widget item(String title, String imagePath, VoidCallback back) {
  50. return Column(
  51. children: [
  52. ListTile(
  53. leading: Image(image: AssetImage(imagePath), width: 25, height: 25,),
  54. title: Text(title),
  55. trailing: const Icon(Icons.keyboard_arrow_right),
  56. onTap: back,
  57. ),
  58. const Divider(
  59. height: 1,
  60. ),
  61. ],
  62. );
  63. }
  64. }