add_thumbnail
一個新的 Flutter 包專案。
從給定連結添加縮略圖的 Flutter 插件。
{"sdk":"flutter"}—^0.23.1^1.0.3^3.2.0{"sdk":"flutter"}以下為英文專案原文快照,最新內容請造訪 GitHub。
pub package Codemagic build status GitHub last commit Open Source Love GitHub GitHub stars GitHub forks
A new Flutter package. It is build for fetching media thumbnail associate to url. On adding urls it creates thumbnail wigdet.
https://playerzon.com/asset/download.png
Youtube Link:- https://www.youtube.com/watch?v=1MAuErvBtKA
| Initial Screen | Add Thumbnail dialog | Image thumbnail |
|---|---|---|
| https://github.com/TheAlphamerc/flutter_plugin_add_thumbnail/blob/master/screenshots/screenshot_1.jpg?raw=true | https://github.com/TheAlphamerc/flutter_plugin_add_thumbnail/blob/master/screenshots/screenshot_2.jpg?raw=true | https://github.com/TheAlphamerc/flutter_plugin_add_thumbnail/blob/master/screenshots/screenshot_3.jpg?raw=true |
| MediaListView widget | MediaListView with multiple children | Error on invaild link |
|---|---|---|
| https://github.com/TheAlphamerc/flutter_plugin_add_thumbnail/blob/master/screenshots/screenshot_4.jpg?raw=true | https://github.com/TheAlphamerc/flutter_plugin_add_thumbnail/blob/master/screenshots/screenshot_5.jpg?raw=true | https://github.com/TheAlphamerc/flutter_plugin_add_thumbnail/blob/master/screenshots/screenshot_6.jpg?raw=true |
await Thumbnail.addLink(
context: context,
/// callback that return thumbnail information in `MediaInfo` object
onLinkAdded: (mediaInfo) {
print("Thumbnail title:- ${mediaInfo.title}");
print("Thumbnail url:- ${mediaInfo.thumbnailUrl}");
},
);
Thumbnail.addLink() to display add link dialog.Next button.Next button clicked it it fetch meta accoicated with link.Save button will visible only if thumbnail image is fetched.Save button clicked it return MediaInfo object that contains thumbnail information like title, imageUrl etc.Cancel button clicked it will close dialog and return nothing.List<MediaInfo> mediaList = [];
List<String> urlList = ["https://www.youtube.com/watch?v=uv54ec8Pg1k"];
MediaListView(
titleTextStyle: TextStyle(color:Colors.white),
titleTextBackGroundColor: Colors.grey,
overlayChild:Icon(Icons.save),
urls: urlList,
mediaList: mediaList,
onPressed: (url) {
print(url);
},
);
dependencies:
add_thumbnail: ^0.0.1
import 'package:add_thumbnail/add_thumbnail.dart';
List<MediaInfo> mediaList = [];
List<String> urlList = ["https://www.youtube.com/watch?v=uv54ec8Pg1k"];
async function and call Thumbnail.addLink() void openAddLinkDialog() async {
// Open thumbnail dialog to add link
await Thumbnail.addLink(
context: context,
/// callback that return thumbnail information in `MediaInfo` object
onLinkAdded: (mediaInfo) {
if (mediaInfo != null && mediaInfo.thumbnailUrl.isNotEmpty) {
setState(() {
mediaList.add(mediaInfo);
});
}
},
);
}
Widget getMediaList() {
return MediaListView(
onPressed: (url) {
print(url);
},
urls: urlList,
mediaList: mediaList,
);
}
openAddLinkDialog function on floatingActionButton pressed
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Color(0xFFEEEEEE),
appBar: AppBar(
title: Text(widget.title),
),
body:(mediaList == null || mediaList.isEmpty) && (urlList == null || urlList.isEmpty)
? Center(
child: Text(
"Press add button to add thumbnail.",
style: TextStyle(color: Colors.black54, fontSize: 16),
),
)
: getMediaList(),
floatingActionButton: FloatingActionButton(
onPressed: openAddLinkDialog,
tooltip: 'Add link',
child: Icon(Icons.add),
),
);
}
I welcome and encourage all pull requests. It usually will take me within 24-48 hours to respond to any issue or request.
Sonu Sharma (Twitter) (Youtube) (Insta) Twitter Follow
If you found this project helpful or you learned something from the source code and want to thank me, consider buying me a cup of :coffee: