Flutter 调用容器中的QR扫描器/条形码扫描器或任何处于颤振状态的小部件
我小时候应该给扩展区的条形码扫描器打电话。我可以使用函数调用扫描仪。扫描仪正在全屏打开。正如我前面提到的,我的要求是在具有特定维度的容器中将其称为ExpansionFile的子级。 我为扫描仪使用了Flutter 调用容器中的QR扫描器/条形码扫描器或任何处于颤振状态的小部件,flutter,dart,Flutter,Dart,我小时候应该给扩展区的条形码扫描器打电话。我可以使用函数调用扫描仪。扫描仪正在全屏打开。正如我前面提到的,我的要求是在具有特定维度的容器中将其称为ExpansionFile的子级。 我为扫描仪使用了flatter\u条形码扫描仪:^0.0.9软件包 这是我试过的代码 class ExpansionTileSample extends StatefulWidget { @override ExpansionTileSampleState createState() => new Ex
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条形码扫描仪
插件来实现它。它打开一个本机视图进行扫描。我无法使用其他几个可用的软件包。他们突然出现了一些我无法解决的安卓问题。或者你能推荐其他的套餐吗?