Как я могу удалить элемент из пользовательского интерфейса Flutter - PullRequest
0 голосов
/ 28 марта 2020

enter image description here

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

 if (_image != null)
      Stack(
        children: <Widget>[
        Container(
        height: 55,
        width: 60,
          child: Image.memory(_image)),
          Positioned(
          top: -15,
          right: -15,
          child: ClipRRect(
          borderRadius:
          BorderRadius.circular(
          16.0),
          child: IconButton(
          hoverColor: Colors.red,
          icon: Icon(
          Icons.delete,
          color: Colors.red,
          size: 23,
           ),
          onPressed: () =>
             _removeVideo),
           ),
         ),
        ],
        ),

 Future<void> _videoPicker() async {
    if (mounted) {
      final file = await ImagePicker.pickVideo(source: ImageSource.gallery);
      if (file?.path != null) {
        final thumbnail = await _flutterVideoCompress.getThumbnail(
          file.path,
          quality: 50,
          position: -1,
        );

        setState(() {
          _image = thumbnail;
        });

        final resultFile = await _flutterVideoCompress.getThumbnailWithFile(
          file.path,
          quality: 50,
          position: -1,
        );
        debugPrint(resultFile.path);

        assert(resultFile.existsSync());

        debugPrint('file Exists: ${resultFile.existsSync()}');

        final MediaInfo info = await _flutterVideoCompress.compressVideo(
          file.path,
          deleteOrigin: false,
          quality: VideoQuality.LowQuality,
        );
        debugPrint(info.toJson().toString());
      }
    }
  }



 void _removeVideo() {
    setState(() {
      _image = null;
    });
  }

1 Ответ

0 голосов
/ 30 марта 2020

избавиться от if (_image! = Null), попробуйте вместо этого

_image == null ? Container(): Stack(
    children: <Widget>[
    Container(
    height: 55,
    width: 60,
      child: Image.memory(_image)),
      Positioned(
      top: -15,
      right: -15,
      child: ClipRRect(
      borderRadius:
      BorderRadius.circular(
      16.0),
      child: IconButton(
      hoverColor: Colors.red,
      icon: Icon(
      Icons.delete,
      color: Colors.red,
      size: 23,
       ),
      onPressed: () =>
         _removeVideo),
       ),
     ),
    ],
    ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...