page_number.dart 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import 'package:fis_lib_report/converts/margin_convert.dart';
  2. import 'package:fis_lib_report/converts/pt_to_px_converter.dart';
  3. import 'package:fis_lib_report/pages/helpler.dart';
  4. import 'package:fis_lib_report/report/line.dart';
  5. import 'package:fis_lib_report/report/page_number.dart';
  6. import 'package:fis_lib_report/report/rt_thickness.dart';
  7. import 'package:fis_lib_report/report/space.dart';
  8. import 'package:fis_lib_report/report_info/report_info.dart';
  9. import 'package:flutter/cupertino.dart';
  10. import 'package:flutter/material.dart';
  11. class RPageNumber extends StatefulWidget {
  12. final PageNumber space;
  13. RPageNumber(this.space, {Key? key}) : super(key: key);
  14. @override
  15. State<StatefulWidget> createState() {
  16. return _RRPageNumberState();
  17. }
  18. }
  19. class _RRPageNumberState extends State<RPageNumber> {
  20. late PageNumber pageNumber;
  21. String _text = '';
  22. @override
  23. initState() {
  24. pageNumber = widget.space;
  25. ReportInfo.instance.onHeightChange!.addListener((sender, e) {
  26. final height = ReportInfo.instance.currentHeight;
  27. final pageHeight = ReportInfo.instance.pageSize!.height;
  28. final pageNum = (height / pageHeight!).ceil();
  29. setState(() {
  30. _text = pageNum.toString();
  31. });
  32. });
  33. super.initState();
  34. }
  35. @override
  36. Widget build(BuildContext context) {
  37. return Container(
  38. margin: MarginConvert.marginConvert(pageNumber.margin),
  39. child: Row(
  40. mainAxisAlignment: MainAxisAlignment.end,
  41. children: const [
  42. ///页码功能应在生成pdf时自动添加上
  43. Text(''),
  44. ],
  45. ),
  46. );
  47. }
  48. }