Как получить исходный код imagePicker при использовании нижнего листа из другого файла

Я пробовал использовать многоразовый виджет для отображения значков камеры и галереи с нижнего листа, когда я использую _getimage, я получаю подобное сообщение об ошибке. и когда я использую виджеты камеры и галереи в одном файле, я не получаю существенной ошибки

Виджет без сохранения состояния для отображения камеры и галереи нижнего листа из camera_gallery.dart

  final VoidCallback onPressedCamera;
  final VoidCallback onPressedGallery;
  CameraGallery({this.onPressedCamera, this.onPressedGallery});

  cameraGallery(BuildContext context) {
    final screenHeight = MediaQuery.of(context).size.height;
    final screenWidth = MediaQuery.of(context).size.width;
    Container(
      height: screenHeight / 5,
      color: Color(0xFF737373),
      child: Container(
        height: screenHeight / 6,
        padding: EdgeInsets.all(10.0),
        decoration: BoxDecoration(
            color: Colors.white,
            borderRadius: BorderRadius.only(
                topLeft: const Radius.circular(10.0),
                topRight: const Radius.circular(10.0))),
        child: Column(
          children: <Widget>[
            Text(
              'Pick an image',
              style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14),
            ),
            Container(
              width: screenWidth / 8,
              child: Padding(
                padding: const EdgeInsets.only(top: 2.0, bottom: 2.0),
                child: Divider(
                  height: 2,
                  indent: 1.0,
                  endIndent: 1.0,
                  color: Colors.grey,
                ),
              ),
            ),
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceAround,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: <Widget>[
                Column(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: <Widget>[
                    IconButton(
                      icon: Icon(Icons.camera_enhance),
                      iconSize: 50.0,
                      onPressed: onPressedCamera
                    ),
                    Text("Camera"),
                  ],
                ),
                Column(
                  crossAxisAlignment: CrossAxisAlignment.center,
                  children: <Widget>[
                    IconButton(
                      icon: Icon(Icons.image),
                      iconSize: 50.0,
                      onPressed: onPressedGallery
                    ),
                    Text("Gallery"),
                  ],
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }

Получить код изображения из формы register.dart

    ImagePicker.pickImage(source: source, maxWidth: 1080.0, maxHeight: 1920.0)
        .then((File image) {
      setState(() {
        _imageFile = image;
      });
      Navigator.pop(context);
    });
  }

показать нижний лист, когда я щелкнул значок камеры

    CameraGallery(onPressedCamera: _getImage(context, ImageSource.camera), onPressedGallery: _getImage(context, ImageSource.gallery),).cameraGallery(context);
}

я получил эту ошибку

Exception has occurred.
PlatformException (PlatformException(already_active, Image picker is already active, null))

0 ответов

Другие вопросы по тегам