assetPageBuilder method

  1. @override
Widget assetPageBuilder(
  1. BuildContext context,
  2. int index
)
override

Split page builder according to type of asset. 根据资源类型使用不同的构建页

Implementation

@override
Widget assetPageBuilder(BuildContext context, int index) {
  final AssetEntity asset = previewAssets.elementAt(index);
  Widget _builder;
  switch (asset.type) {
    case AssetType.audio:
      _builder = AudioPageBuilder(asset: asset);
      break;
    case AssetType.image:
      _builder = ImagePageBuilder(
        asset: asset,
        delegate: this,
        previewThumbSize: previewThumbSize,
      );
      break;
    case AssetType.video:
      _builder = VideoPageBuilder(
        asset: asset,
        delegate: this,
        hasOnlyOneVideoAndMoment: isWeChatMoment && hasVideo,
      );
      break;
    case AssetType.other:
      _builder = Center(
        child: ScaleText(Constants.textDelegate.unSupportedAssetType),
      );
      break;
  }
  return _builder;
}