From fbf9191795cd80737cd169e15fdc254e1911946a Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Wed, 3 May 2023 15:53:30 +0530 Subject: [PATCH] feat(ui): add support for `StreamMessageListView.shrinkWrap`. Signed-off-by: xsahil03x --- packages/stream_chat_flutter/CHANGELOG.md | 2 ++ .../lib/src/message_list_view/message_list_view.dart | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index c735532b..624577e0 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -52,6 +52,8 @@ ), ``` +- Added `StreamMessageListView.shrinkWrap` to allow users to shrink wrap the message list view. + 🔄 Changed - Deprecated `MessageTheme.linkBackgroundColor` in favor of `MessageTheme.urlAttachmentBackgroundColor`. diff --git a/packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart b/packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart index c66c88f8..d1126063 100644 --- a/packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart @@ -115,6 +115,7 @@ class StreamMessageListView extends StatefulWidget { this.unreadMessagesSeparatorBuilder, this.messageListController, this.reverse = true, + this.shrinkWrap = false, this.paginationLimit = 20, this.paginationLoadingIndicatorBuilder, this.keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.onDrag, @@ -135,6 +136,14 @@ class StreamMessageListView extends StatefulWidget { /// See [ScrollView.reverse]. final bool reverse; + /// Whether the extent of the scroll view in the [scrollDirection] should be + /// determined by the contents being viewed. + /// + /// Defaults to false. + /// + /// See [ScrollView.shrinkWrap]. + final bool shrinkWrap; + /// Limit used during pagination final int paginationLimit; @@ -550,6 +559,7 @@ class _StreamMessageListViewState extends State { physics: widget.scrollPhysics, itemScrollController: _scrollController, reverse: widget.reverse, + shrinkWrap: widget.shrinkWrap, itemCount: itemCount, findChildIndexCallback: (Key key) { final indexedKey = key as IndexedKey;