diff --git a/images/placeholder.png b/images/placeholder.png new file mode 100644 index 00000000..deca8474 Binary files /dev/null and b/images/placeholder.png differ diff --git a/lib/src/media_list_view.dart b/lib/src/media_list_view.dart index cd414fa9..371428d4 100644 --- a/lib/src/media_list_view.dart +++ b/lib/src/media_list_view.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:media_gallery/media_gallery.dart'; import 'package:stream_chat_flutter/src/stream_icons.dart'; -import 'package:transparent_image/transparent_image.dart'; class MediaListView extends StatefulWidget { final List selectedIds; @@ -26,8 +25,10 @@ class _MediaListViewState extends State { return GridView.builder( itemCount: _media.length, controller: _scrollController, - gridDelegate: - SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 3, + ), + cacheExtent: 1000, itemBuilder: ( context, position, @@ -42,7 +43,10 @@ class _MediaListViewState extends State { aspectRatio: 1.0, child: FadeInImage( fadeInDuration: Duration(milliseconds: 300), - placeholder: MemoryImage(kTransparentImage), + placeholder: AssetImage( + 'images/placeholder.png', + package: 'stream_chat_flutter', + ), image: MediaThumbnailProvider( media: media, highQuality: true, diff --git a/lib/src/message_input.dart b/lib/src/message_input.dart index 8b77a5cf..af4b8979 100644 --- a/lib/src/message_input.dart +++ b/lib/src/message_input.dart @@ -201,6 +201,11 @@ class MessageInputState extends State { onPanUpdate: (details) { if (details.delta.dy > 0) { _focusNode.unfocus(); + if (_openFilePickerSection) { + setState(() { + _openFilePickerSection = false; + }); + } } }, child: Column(