直播源码APP的最佳扫码插件,自定义视图 您所在的位置:网站首页 快手扫码神器 直播源码APP的最佳扫码插件,自定义视图

直播源码APP的最佳扫码插件,自定义视图

2023-09-22 11:44| 来源: 网络整理| 查看: 265

直播源码APP的最佳扫码插件,实现自定义视图的相关代码 实现自定义视图:

class CustomizedView extends StatefulWidget { @override _CustomizedViewState createState() => _CustomizedViewState(); } const boxSize = 200.0; class _CustomizedViewState extends State { late ScanKitController _controller; final screenWidth = window.physicalSize.width; final screenHeight = window.physicalSize.height; @override void dispose(){ _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { var pixelSize = boxSize * window.devicePixelRatio; var left = screenWidth/2 - pixelSize/2; var top = screenHeight/2 - pixelSize/2; var right = screenWidth/2 + pixelSize/2; var bottom = screenHeight/2 + pixelSize/2; var rect = Rect.fromLTRB(left, top, right, bottom); return Scaffold( body: SafeArea( child: Stack( children: [ ScanKitWidget( callback: (controller) { _controller = controller; controller.onResult.listen((result) { debugPrint("scanning result:$result"); Navigator.of(context).pop(result); }); }, continuouslyScan: false, boundingBox: rect), Align( alignment: Alignment.topCenter, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ IconButton( onPressed: () { Navigator.of(context).pop(); }, icon: Icon( Icons.arrow_back, color: Colors.white, size: 28, )), IconButton( onPressed: () { _controller.switchLight(); }, icon: Icon( Icons.lightbulb_outline_rounded, color: Colors.white, size: 28, )), IconButton( onPressed: () { _controller.pickPhoto(); }, icon: Icon( Icons.picture_in_picture_rounded, color: Colors.white, size: 28, )) ], ), ), Align( alignment: Alignment.center, child: Container( width: boxSize, height: boxSize, decoration: BoxDecoration( border: Border( left: BorderSide(color: Colors.orangeAccent, width: 2), right: BorderSide(color: Colors.orangeAccent, width: 2), top: BorderSide(color: Colors.orangeAccent, width: 2), bottom: BorderSide(color: Colors.orangeAccent, width: 2)), ), ), ) ], ), ), ); } }

拉起自定义视图:

Future newPage(BuildContext context) async { var code = await Navigator.of(context).push(MaterialPageRoute( builder: (BuildContext context) { return CustomizedView(); } )); setState(() { this.code = code ?? ""; }); }

以上就是 直播源码APP的最佳扫码插件,实现自定义视图的相关代码,更多内容欢迎关注之后的文章



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有