小编Oza*_*ran的帖子

在 Flutter 中禁用旋转的情况下拍摄横向和纵向相机照片

我想构建一个可以拍摄横向和纵向照片的屏幕。我的应用程序仅通过在 main 中调用以下命令以纵向模式运行:

等待 SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);

由于我的屏幕不再旋转,即使我将手机倾斜到一边,图像也始终以纵向拍摄。这是一个小示例项目,您可以清楚地看到它:

import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:camera/camera.dart';
import 'package:flutter/services.dart';

List<CameraDescription> cameras = [];

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
  cameras = await availableCameras();
  runApp(CameraApp());
}

class CameraApp extends StatefulWidget {
  @override
  _CameraAppState createState() => _CameraAppState();
}

class _CameraAppState extends State<CameraApp> {
  CameraController? controller;
  bool takingPicture = false;
  XFile? selectedImage;

  @override
  void initState() {
    super.initState();
    controller = CameraController(cameras[0], ResolutionPreset.max);
    controller!.initialize().then((_) {
      if (!mounted) {
        return;
      }
      setState(() {});
    });
  }

  @override
  void dispose() …
Run Code Online (Sandbox Code Playgroud)

camera android ios dart flutter

5
推荐指数
1
解决办法
3015
查看次数

标签 统计

android ×1

camera ×1

dart ×1

flutter ×1

ios ×1