栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Flutter

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flutter

具有类似_cameraOn = true的变量。如果为true,则显示CameraPreview,否则为false。导航到另一个屏幕时,将其设置为false

您可以在单独的小部件中拥有与相机相关的功能。因此,每次显示时都会对其进行初始化,而在不显示时将对其进行处理。

一个简单的工作示例

import 'dart:async';import 'package:flutter/material.dart';import 'package:camera/camera.dart';List<CameraDescription> cameras;Future<void> main() async {  cameras = await availableCameras();  runApp(MaterialApp(    home: CameraApp(),  ));}class CameraApp extends StatefulWidget {  @override  _CameraAppState createState() => _CameraAppState();}class _CameraAppState extends State<CameraApp> {  bool _cameraOn = true;  @override  Widget build(BuildContext context) {    return Scaffold(      body: Column(        children: <Widget>[          Expanded( child: _cameraOn ? Camera() : Container(),          ),          FlatButton( onPressed: () {   setState(() {     _cameraOn = false;   });   Navigator.push(       context,       MaterialPageRoute(builder: (BuildContext context) => Post())).then((res) {     setState(() {       _cameraOn = true;     });   }).catchError((err) {     print(err);   }); }, child: Text("NEXT PAGE"),          ),        ],      ),    );  }}class Camera extends StatefulWidget {  @override  _CameraState createState() => _CameraState();}class _CameraState extends State<Camera> {  CameraController controller;  @override  void initState() {    super.initState();    controller = CameraController(cameras[0], ResolutionPreset.medium);    controller.initialize().then((_) {      if (!mounted) {        return;      }      setState(() {});    });  }  @override  Widget build(BuildContext context) {    if (!controller.value.isInitialized) {      return Container();    }    return AspectRatio(      aspectRatio: controller.value.aspectRatio,      child: CameraPreview(controller),    );  }  @override  void dispose() {    controller?.dispose();    super.dispose();  }}class Post extends StatelessWidget {  @override  Widget build(BuildContext context) {    return Scaffold(      body: Text("Post"),    );  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370405.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号