【问题标题】:It doesnt show the captured image after captured. It means _storeImage still null after we captured捕获后不显示捕获的图像。这意味着我们捕获后 _storeImage 仍然为空
【发布时间】:2022-11-13 20:01:50
【问题描述】:

捕获后不显示捕获的图像。 这意味着 _storeImage 在我们捕获后仍然为空。 基本上,此代码用于名为 ImageInput 的小部件。 我还添加了应用程序的屏幕截图。 仍然在捕获图像后,框显示“未拍摄图像”

 import 'package:flutter/src/widgets/container.dart';
import 'package:flutter/src/widgets/framework.dart';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

class ImageInput extends StatefulWidget {
  const ImageInput({super.key});

  @override
  State<ImageInput> createState() => _ImageInputState();
}

class _ImageInputState extends State<ImageInput> {
  File? _storeImage = null;
  final ImagePicker _picker = ImagePicker();
  Future<void> _takePicture() async {
    final XFile? imageFile =
        await _picker.pickImage(source: ImageSource.camera, maxWidth: 600);
    if (imageFile == null) return;
    setState() {
      // TODO: implement setState
      _storeImage = File(imageFile.path);
     
    }
  }

  @override
  Widget build(BuildContext context) {
    return Row(
      children: [
        Container(
          width: 100,
          height: 100,
          decoration:
              BoxDecoration(border: Border.all(width: 1, color: Colors.grey)),
          child: _storeImage != null
              // ignore: dead_code
              ? Image.file(
                  _storeImage!,
                  fit: BoxFit.cover,
                  width: double.infinity,
                )
              : Text(
                  'No image Taken',
                  textAlign: TextAlign.center,
                ),
          alignment: Alignment.center,
        ),
        SizedBox(
          width: 10,
        ),
        Expanded(
            child: TextButton.icon(
          icon: Icon(Icons.camera),
          label: Text('Takeb A Photo'),
          onPressed: _takePicture,
        )),
      ],
    );
  }
}

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    你打错了setState,试试这个:

    setState(() {
       _storeImage = File(imageFile.path);
    });
    

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多