main.dart 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import 'package:cool_ui/cool_ui.dart';
  2. import 'package:flustars/flustars.dart';
  3. import 'package:flutter/material.dart';
  4. import 'dart:async';
  5. import 'package:flutter/services.dart';
  6. import 'package:fqreader/fqreader.dart';
  7. // import 'package:image_picker/image_picker.dart';
  8. void main() => runApp(new MyApp());
  9. class MyApp extends StatefulWidget {
  10. @override
  11. _MyAppState createState() => new _MyAppState();
  12. }
  13. class _MyAppState extends State<MyApp> {
  14. GlobalKey<ZBarViewState> scanView;
  15. Size cameraSize;
  16. @override
  17. void initState() {
  18. super.initState();
  19. scanView = GlobalKey<ZBarViewState>();
  20. }
  21. @override
  22. Widget build(BuildContext context) {
  23. return new MaterialApp(
  24. home: Builder(builder: (context) {
  25. Size pictureSize = Size(
  26. ScreenUtil.getInstance().screenWidth,
  27. ScreenUtil.getInstance().screenHeight -
  28. ScreenUtil.getInstance().appBarHeight -
  29. ScreenUtil.getInstance().statusBarHeight);
  30. if (ScreenUtil.getInstance().screenDensity == 1) {
  31. return Container();
  32. }
  33. Size scanSize = Size(ScreenUtil.getInstance().screenWidth * 0.8,
  34. ScreenUtil.getInstance().screenWidth * 0.8);
  35. return new Scaffold(
  36. appBar: new AppBar(
  37. title: const Text('Plugin example app'),
  38. ),
  39. body: Stack(
  40. children: <Widget>[
  41. // ScanView(
  42. // key: scanView,
  43. // scanAilgn: Alignment.center,
  44. // scanSize: scanSize,
  45. // viewSize: pictureSize,
  46. // maskColor: Colors.white,
  47. // devicePixelRatio: ScreenUtil.getInstance().screenDensity,
  48. // onScan: (result) async {
  49. // showWeuiSuccessToast(context: context, message: Text(result.data));
  50. // print(result.data);
  51. // return false;
  52. // },
  53. // ),
  54. ZBarView(
  55. key: scanView,
  56. width: pictureSize.width.toInt(),
  57. height: pictureSize.height.toInt(),
  58. onScan: (result) async {
  59. showWeuiSuccessToast(context: context, message: Text(result.data));
  60. await Future.delayed(Duration(seconds: 1));
  61. return true;
  62. },
  63. ),
  64. Container(
  65. child: Text(
  66. '屏幕dp宽度:${ScreenUtil.getInstance().screenWidth}\n屏幕dp高度:${ScreenUtil.getInstance().screenHeight}\n DP 对 PX比率:${ScreenUtil.getInstance().screenDensity}\n' +
  67. (this.cameraSize != null
  68. ? '图片宽度:${cameraSize.width}\n图片高度:${cameraSize.height}'
  69. : '')))
  70. ],
  71. ));
  72. }),
  73. );
  74. }
  75. }