flutter相机预览
我是Flutter和Dart的新手,所以请多多包涵。我正在尝试使用Flutter通过Camera
Plugin显示摄像机预览,但是有两个问题。1)预览被拉伸,因此看起来很奇怪。2)我想BottomNavigationBar
在预览下方显示一个,但是“摄像机预览”使用了所有屏幕空间。
我初始化相机并打开预览:
@overrideWidget build(BuildContext context) {
if (!_isReady) return new Container();
if (!controller.value.initialized) return new Container();
return new CameraPreview(controller);
}
1)这是我调用的类的构建方法_CameraWidgetState
。如何使此预览看起来不那么拉伸?
2)为了不让CameraWidget占用所有空间,我尝试将它放到Scaffold
没有运气的内部:
Widget build(BuildContext context) {return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: new Center(
child: new CameraWidget(),
),
bottomNavigationBar: new BottomNavigationBar(
items: [
new BottomNavigationBarItem(
icon: new Icon(Icons.camera), title: new Text("Left")),
new BottomNavigationBarItem(
icon: new Icon(Icons.favorite),
title: new Text("Right"))
],
),
);
}
任何想法或帮助表示赞赏!
回答:
这解决了问题,但是也可能有更好的解决方案。(感谢@ user1462442从上面的评论。)
@overrideWidget build(BuildContext context) {
if (!_isReady) return new Container();
if (!controller.value.initialized) return new Container();
return new Scaffold(
body: new Container(
child: new AspectRatio(
aspectRatio: controller.value.aspectRatio,
child: new CameraPreview(controller),
),
),
floatingActionButton: new FloatingActionButton(
onPressed: _isReady ? capture : null,
child: const Icon(
Icons.camera,
color: Colors.white,
),
),
floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
);
}
以上是 flutter相机预览 的全部内容, 来源链接: utcz.com/qa/413542.html