Releases: saket/InboxRecyclerView
v3.0
Nested Scrolling
As the highlight of this release, InboxRecyclerView
now supports nested scrolling! Manual interception of pull-to-collapse gestures for scrollable content is no longer needed as long as your app uses nested-scrolling aware widgets such as NestedScrollView
, RecyclerView
, etc.
InboxItemExpander
If you aren’t a fan of using adapter IDs for expanding list items because it’s not 2020 anymore, InboxRecyclerView
now lets you supply any Parcelable
type using a custom InboxItemExpander. You can read more about it here: Custom expansion keys.
Haptic feedback
This release introduces PageCollapseEligibilityHapticFeedback
that can play haptic feedback during a pull-to-collapse gesture to indicate when the page can be released to collapse.
Breaking changes
For apps that use a custom DimPainter
, this release unfortunately introduces a breaking change to the function signature of DimPainter#cancelAnimation()
.
v2.3.0
New features
- Smoother page expand and collapse animations (comparison video).
- New animators: scale and none. Thanks @paolovalerdi!
- Dimming of page when it is pulled past the collapse threshold (video).
Visually breaking changes
v2.0.0-beta3
-
Improved handling of size changes in both
InboxRecyclerView
andExpandablePageLayout
, especially when they're resized while expanding. This can happen if the soft keyboard is shown. (7654e48, 9d54032 and c13948e). -
Made
InboxRecyclerView#attrs
constructor parameter optional so that it can be created from code. -
Sample: Restored FAB animation by removing the use of the hidden
AnimatedVectorDrawable#reverse()
function that no longer works on newer Android versions (6f02363).
v2.0.0-beta1
Improvements
InboxRecyclerView
and itsExpandablePageLayout
no longer need to be of the same dimensions and share the same parent in the view hierarchy (Fixes #10).- Support for detaching a
ExpandablePageLayouts
from itsInboxRecyclerView
, essentially making it possible to use multiple expandable pages with the same list (Fixes #32).
Breaking changes
InboxRecyclerView#setExpandablePage()
is removed in favor of exposing the properties directly:
val page = findViewById<ExpandablePageLayout>(...)
inboxRecyclerView.expandablePage = page
// This is optional. The default value is ~48dp.
page.pullToCollapseThresholdDistance = dp(40)
v1.0.0
No new changes since v1.0.0-rc2
.
Making this release to pave way for v2.0.0
which will bring in some breaking changes (more details here).
v1.0.0-rc2
The highlight of this release is a fix for a funny bug that was making InboxRecyclerView unusable with battery saving enabled.
New changes
- Changed the visibility
ExpandablePageLayout#parentToolbar
to private in favor ofpushParentToolbarOnExpand()
. - Made
ExpandablePageLayout#pullToCollapseInterceptor
nullable so that it's easy to unregister an interceptor. - Made
InboxRecyclerView
open so that it can be subclassed.
Fixes
- #25: InboxRecyclerView items doesn't get reset when the page is collapsed while Battery Saver is enabled (5217691).
- #20: Pressing the back button twice in quick succession while the page was open crashes the app if
ExpandablePageLayout#parentToolbar
is set (b70c000). - Some more fixes related to clearing of state and strong references when
ExpandablePageLayout
is detached from the Window.
v1.0.0-rc1
This is a major release and I'm fairly confident that InboxRecyclerView
is now ready for stable consumption.
v1.0.0-beta3
- Fixed a bug that was causing
InboxRecyclerView
items to stay focused even their content had collapsed
v1.0.0-beta2
- Removed the restriction for positioning
ExpandablePageLayout
at a higher z-index thanInboxRecyclerView
- Set up publishing of javadocs and sources. Thanks @hzsweers!
- Specified the dependency on androidx explicitly in readme
v1.0.0-beta1
First release! I'm fairly satisfied with the APIs, but I'll keep the beta tag around for a few days to address feedback.
Here's the announcement blog post: http://saket.me/inboxrecyclerview/