你們好,我是戴着眼鏡口罩會起霧的200。不得不說Flutter在UI方面,只要是能想到的效果,你用心都能實現。git
圖片是一個應用中的重要部分,展現,壓縮,裁剪,pub三方庫應該說是應有盡有。 FlutterCandies 中也有多個關於圖片的庫,能夠說是比較全面了。github
功能最全面的圖片展現庫,加粗爲最近新增功能api
主要功能緩存
增長loadingProgress參數,用於顯示進度。微信
ExtendedImage.network(
'https://raw.githubusercontent.com/fluttercandies/flutter_candies/master/gif/extended_text/special_text.jpg',
handleLoadingProgress: true,
clearMemoryCacheIfFailed: true,
clearMemoryCacheWhenDispose: true,
cache: false,
loadStateChanged: (ExtendedImageState state) {
if (state.extendedImageLoadState == LoadState.loading) {
final loadingProgress = state.loadingProgress;
final progress = loadingProgress?.expectedTotalBytes != null
? loadingProgress.cumulativeBytesLoaded /
loadingProgress.expectedTotalBytes
: null;
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SizedBox(
width: 150.0,
child: LinearProgressIndicator(
value: progress,
),
),
SizedBox(
height: 10.0,
),
Text('${((progress ?? 0.0) * 100).toInt()}%'),
],
),
);
}
return null;
},
),
複製代碼
當時在製做圖片預覽功能的時候,就暴露多了足夠的api,提供給用戶自定義各類效果, 因爲Flutter手勢的複雜以及衝突,我特地作了一個Demo提供出來。網絡
至此pic_swiper.dart已擁有如下功能:ide
爲extended_image的基礎庫,若是你只須要網絡圖片緩存功能,你能夠只引用這個庫post
Image(
image: ExtendedNetworkImageProvider("", cache: true),
);
複製代碼
flutter_image_editor能夠說是低調爲extended_image量身打造的原生插件,支持旋轉裁剪翻轉,extended_image負責圖片編輯UI,flutter_image_editor提供原生裁剪圖片數據能力。因爲dart image庫在處理圖片的效率問題,原生庫(期待純C++庫)就有了很大的優點(大圖片能夠有10倍速度的提高)。性能
出自Flutter勸退師Alex之手, 是一個對標微信的多選資源選擇器,99%接近於原生微信的操做,純Dart編寫,支持選擇的同時也支持預覽資源。支持以下功能:spa
若是以爲還差點意思,歡迎提建議,歡迎pr。
歡迎加入Flutter Candies,一塊兒生產可愛的Flutter 小糖果(QQ羣:181398081)
最最後放上Flutter Candies全家桶,真香。