1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/showyyj-rich_edit

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Pub

rich_edit

Flutter富文本编辑器,支持图文和视频混合排列。

开始使用

首先需要扩展并实现 RichEditController。 简单的使用可以从下面的例子开始。

  chewie: 0.9.10
  video_player: 0.10.11
  image_picker: 0.6.7
import 'package:chewie/chewie.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:rich_edit/rich_edit.dart';
import 'package:video_player/video_player.dart';

class SimpleRichEditController extends RichEditController {

  Map<String, ChewieController> controllers = Map();

  // 添加视频的方法
  @override
  Future<String> addVideo() async {
    var pickedFile = await ImagePicker().getVideo(source: ImageSource.gallery);
    if (pickedFile != null) {
      // 模拟上传后的路径
      return "http://static.fanghnet.com/uploads/szx/uploads/2020/06/353f2c48ce164e368cc040c4fb425331.mp4";
    }
    return null;
  }

  // 添加图片的方法
  @override
  Future<String> addImage() async {
    var pickedFile = await ImagePicker().getImage(source: ImageSource.gallery);
    if (pickedFile != null) {
      // 模拟上传后的路径
      return "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1592205365009&di=fcc201c596fc6681fe7812aa7fea4b23&imgtype=0&src=http%3A%2F%2Fa3.att.hudong.com%2F14%2F75%2F01300000164186121366756803686.jpg";
    }
    return null;
  }
}
```  // Метод создания вьюшки видео
  @override
  Widget generateVideoView(RichEditData data) {
    if (!controllers.containsKey(data.data)) {
      var controller = ChewieController(
        videoPlayerController: VideoPlayerController.network(data.data),
        autoPlay: false,
        autoInitialize: true,
        aspectRatio: 16 / 9,
        looping: false,
        showControls: true,
        // Placeholder
        placeholder: new Container(
          color: Colors.grey,
        ),
      );
      controllers[data.data] = controller;
    }
    var video = Chewie(
      controller: controllers[data.data],
    );
    return video;
  }  // Метод создания вьюшки изображения
  @override
  Widget generateImageView(RichEditData data) =>
      Image.network(data.data, height: 200, width: 300);
}
```Используйте
```dart
RichEdit(SimpleRichEditController());

Методы SimpleRichEditController:

Метод Описание
generateHtml() Преобразует содержимое в HTML
generateTextHtml() Генерирует текстовый HTML, который можно переопределить для создания шаблона генерации
generateImageHtml() Генерирует HTML для изображений
generateVideoHtml() Генерирует HTML для видео
getDataList() Получает набор данных содержимого

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Флаттер: редактор форматированного текста. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/showyyj-rich_edit.git
git@api.gitlife.ru:oschina-mirror/showyyj-rich_edit.git
oschina-mirror
showyyj-rich_edit
showyyj-rich_edit
master