我是Flutter和Dart的新手,所以请耐心等待.
我正在尝试使用Flutter来显示使用 Camera Plugin的相机预览,并且有两个问题. 1)预览被拉伸,所以事情看起来很奇怪. 2)我想在预览下方显示BottomNavigationBar,但Camera Preview使用所有屏幕空间.
我正在尝试使用Flutter来显示使用 Camera Plugin的相机预览,并且有两个问题. 1)预览被拉伸,所以事情看起来很奇怪. 2)我想在预览下方显示BottomNavigationBar,但Camera Preview使用所有屏幕空间.
我初始化相机并打开预览:
@override Widget build(BuildContext context) { if (!_isReady) return new Container(); if (!controller.value.initialized) return new Container(); return new CameraPreview(controller); }
1)这是我称为_CameraWidgetState的类的构建方法.如何让这个预览看起来不舒展?
2)为了使CameraWidget不使用所有空间,我已经尝试将它放在一个没有运气的脚手架中:
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.)
@override Widget 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,); }