长话短说,我用flutter的相机依赖。一切正常,直到它的时间为相机预览显示,但它没有,即使相机硬件已激活(我使用模拟器,所以我可以看到网络摄像头指示灯是活跃的)。当我热重新加载它时,预览显示。我尝试了编程强制重建,但它不起作用,因为问题在于相机控制器的值(这就是输出所说的)。
闲话少说,下面是我的片段
if (camCtrl == null || !camCtrl.value.isInitialized) {
return LoadingOverlay();
} else if (camCtrl.value.isInitialized) {
return Stack(
alignment: Alignment.bottomCenter,
children: [
SizedBox(
width: displayWidth(context),
child: camCtrl.value.isInitialized
? CameraPreview(camCtrl)
: LoadingOverlay(),
),
Padding(
padding: EdgeInsets.only(bottom: 20),
child: FloatingActionButton(child: Icon(Icons.camera), onPressed: () {}),
)
],
);
}
2条答案
按热度按时间ccrfmcuu1#
这是由于对期货的错误处理造成的。
尝试再次检查您的代码。
我想你已经错过了等待键盘某处。
此外,您可以在此处使用FutureBuilder。
如果没有帮助,请参考-https://flutter.dev/docs/cookbook/plugins/picture-using-camera
7qhs6swi2#
初始化摄像头后,需要使用setState更新UI。