Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


Build expandable descendant navigation, inspired by Google Inbox

Subscribe to updates I use InboxRecyclerView

Statistics on InboxRecyclerView

Number of watchers on Github 1039
Number of open issues 3
Average time to close an issue 9 days
Main language Kotlin
Average time to merge a PR about 7 hours
Open pull requests 0+
Closed pull requests 1+
Last commit almost 2 years ago
Repo Created about 2 years ago
Repo Last Updated almost 2 years ago
Size 8.33 MB
Organization / Authorsaket
Latest Releasev1.0.0-rc1
Page Updated
Do you use InboxRecyclerView? Leave a review!
View open issues (3)
View InboxRecyclerView activity
View TODOs for InboxRecyclerView (2)
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating InboxRecyclerView for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

InboxRecyclerView is a library for building expandable descendant navigation, inspired by Google Inbox and Reply. If you're interested in learning how it was created, here's a detailed blog post.

implementation 'me.saket:inboxrecyclerview:1.0.0-rc1'

FYI, InboxRecyclerView has a dependency on androidx. If you haven't migrated from the support library already, this would be a good opportunity.


InboxRecyclerView can be dropped in existing projects without requiring any effort. You can take a look at the sample app for best practices or download its APK for trying it out on your phone.


  android:layout_height="match_parent" />

  This is where your expandable content will be present. One
  way of using it would be to add a Fragment inside the layout
  and update it when any list item is clicked.

  It's recommended that the content page has a higher z-index
  than the list. This can be achieved by either giving it a
  higher view position or a higher elevation.
  android:layout_height="match_parent" />

Expanding content


recyclerViewAdapter.itemClickListener = { clickedItem ->

How do I

Pull collapsible activities

To maintain consistency across the whole app, this library also includes a PullCollapsibleActivity that brings the same animations and gesture to activities with little effort.

Step 1. Extend PullCollapsibleActivity.

Step 2. Add these attributes to the activitys theme:

<item name=android:windowIsTranslucent>true</item>
<item name=android:colorBackgroundCacheHint>@null</item>


Copyright 2018 Saket Narayan.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.
InboxRecyclerView open issues Ask a question     (View All Issues)
  • almost 2 years Strange animation
  • about 2 years Support nested scrolling in ExpandablePageLayout
  • about 2 years RelativeLayout???
InboxRecyclerView list of languages used
InboxRecyclerView latest release notes
v1.0.0-rc1 v1.0.0-rc1

This is a major release and I'm fairly confident that InboxRecyclerView is now ready for stable consumption.

  • Fixed a bug that was causing item change animations to get canceled immediately (354e5c1)
  • Fixed two memory leaks with InboxRecyclerView and ExpandablePageLayout. (f3ca4b0, 0b80ec6)
  • Exposed companion functions in ItemExpandAnimator and TintPainter as Java static functions (b8329fb)
v1.0.0-beta3 v1.0.0-beta3
  • Fixed a bug that was causing InboxRecyclerView items to stay focused even their content had collapsed
v1.0.0-beta2 v1.0.0-beta2
  • Removed the restriction for positioning ExpandablePageLayout at a higher z-index than InboxRecyclerView
  • Set up publishing of javadocs and sources. Thanks @hzsweers!
  • Specified the dependency on androidx explicitly in readme
Other projects in Kotlin
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark