加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

飞镖 – 颤振相机预览

发布时间:2020-12-14 14:51:09 所属栏目:百科 来源:网络整理
导读:我是Flutter和Dart的新手,所以请耐心等待. 我正在尝试使用Flutter来显示使用 Camera Plugin的相机预览,并且有两个问题. 1)预览被拉伸,所以事情看起来很奇怪. 2)我想在预览下方显示BottomNavigationBar,但Camera Preview使用所有屏幕空间. 我初始化相机并打开
我是Flutter和Dart的新手,所以请耐心等待.
我正在尝试使用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,);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读