Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 调用容器中的QR扫描器/条形码扫描器或任何处于颤振状态的小部件_Flutter_Dart - Fatal编程技术网

Flutter 调用容器中的QR扫描器/条形码扫描器或任何处于颤振状态的小部件

Flutter 调用容器中的QR扫描器/条形码扫描器或任何处于颤振状态的小部件,flutter,dart,Flutter,Dart,我小时候应该给扩展区的条形码扫描器打电话。我可以使用函数调用扫描仪。扫描仪正在全屏打开。正如我前面提到的,我的要求是在具有特定维度的容器中将其称为ExpansionFile的子级。 我为扫描仪使用了flatter\u条形码扫描仪:^0.0.9软件包 这是我试过的代码 class ExpansionTileSample extends StatefulWidget { @override ExpansionTileSampleState createState() => new Ex

我小时候应该给扩展区的条形码扫描器打电话。我可以使用函数调用扫描仪。扫描仪正在全屏打开。正如我前面提到的,我的要求是在具有特定维度的容器中将其称为ExpansionFile的子级。 我为扫描仪使用了
flatter\u条形码扫描仪:^0.0.9
软件包

这是我试过的代码

class ExpansionTileSample extends StatefulWidget {
  @override
  ExpansionTileSampleState createState() => new ExpansionTileSampleState();
}

class ExpansionTileSampleState extends State<ExpansionTileSample> {
  final GlobalKey<AppExpansionTileState> expansionTile = new GlobalKey();
  String barcode,value="";

  bool expand = false;
  onExpansionChanged(bool val) {
    setState(() {

      expand = !expand;
       if (expand) {

        barcodeScan();
      } else {
        print("Closed");
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        title: const Text('ExpansionTile'),
      ),
      body: new AppExpansionTile(
        onExpansionChanged: onExpansionChanged,
        key: expansionTile,
        title: new Text(value),
        backgroundColor: Theme.of(context).accentColor.withOpacity(0.025),
        child: expand ? Text("done") : Text("not done"),
      ),
    );
  }
  Future barcodeScan() async{
    barcode=await FlutterBarcodeScanner.scanBarcode("#004297", "cancel", false);
    setState(() {
      value=barcode;
    });
  }
}
class ExpansionTileSample扩展StatefulWidget{
@凌驾
ExpansionTileSampleState createState()=>新的ExpansionTileSampleState();
}
类ExpansionTileSampleState扩展状态{
最终GlobalKey ExpansionFile=新的GlobalKey();
字符串条形码,值=”;
布尔展开=假;
OneExpansionChanged(布尔值){
设置状态(){
展开=!展开;
如果(展开){
条码扫描();
}否则{
打印(“已关闭”);
}
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:新的appBar(
标题:常量文本(“扩展文件”),
),
主体:新AppExpansionTile(
OneExpansionChanged:OneExpansionChanged,
关键字:ExpansionFile,
标题:新文本(值),
背景色:主题。背景色。强调色。不透明度(0.025),
子项:展开?文本(“完成”):文本(“未完成”),
),
);
}
未来条形码扫描()异步{
条形码=等待条形码扫描仪。扫描条形码(“004297”,“取消”,假);
设置状态(){
值=条形码;
});
}
}

我如何调用函数(因为它不是一个小部件,所以我不能作为子部件调用它)来代替
child:expand?文本(“完成”):文本(“未完成”),
在我的代码中?

您可以使用
QRReaderPreview
插件来代替
flatter\u条形码扫描仪
插件。
通过这一点,您将能够实现您的要求。

您可以使用将为您提供
QRReaderPreview
小部件的
flatter\u条形码扫描仪
插件。
这样你就可以达到你的要求。

我认为你不能用
flatter\u条形码扫描仪
插件来实现它。它打开一个本机视图进行扫描。我无法使用其他几个可用的软件包。他们突然出现了一些我无法解决的安卓问题。或者你能推荐其他的软件包吗?我认为你不能用
flatter\u条形码扫描仪
插件来实现它。它打开一个本机视图进行扫描。我无法使用其他几个可用的软件包。他们突然出现了一些我无法解决的安卓问题。或者你能推荐其他的套餐吗?