All Projects → saket → Inboxrecyclerview

saket / Inboxrecyclerview

Licence: apache-2.0
Build expandable descendant navigation, inspired by Google Inbox

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Inboxrecyclerview

Giraffeplayer2
out of the box android video player(support lazy load, ListView/RecyclerView and hight performance)
Stars: ✭ 344 (-82.39%)
Mutual labels:  gesture, recyclerview
Imageviewer
A simple and customizable Android full-screen image viewer 一个简单且可自定义的Android全屏图像浏览器
Stars: ✭ 1,889 (-3.28%)
Mutual labels:  gesture
Aicustomviewcontrollertransition
Easy and tidy way for creating custom UIViewController transitions for iOS
Stars: ✭ 130 (-93.34%)
Mutual labels:  gesture
Cardstackview
📱Tinder like swipeable card view for Android
Stars: ✭ 1,850 (-5.27%)
Mutual labels:  recyclerview
Kotlin Adapter
🔥 RecyclerView,AbsListView适配器, 支持多种视图样式, 支持吸顶、侧滑删除、拖拽效果
Stars: ✭ 132 (-93.24%)
Mutual labels:  recyclerview
Expandablerecyclerview
ExpandableRecyclerView with smoothly animation.
Stars: ✭ 135 (-93.09%)
Mutual labels:  recyclerview
Sectioned Recyclerview
Simple Android library that allows you to easily split your RecyclerView into expanding/collapsing sections with headers.
Stars: ✭ 129 (-93.39%)
Mutual labels:  recyclerview
Android List To Grid
Implementation of List to Grid: Icon Transition
Stars: ✭ 147 (-92.47%)
Mutual labels:  recyclerview
Android Rv Swipe Delete
RecyclerView swipe to delete example.
Stars: ✭ 143 (-92.68%)
Mutual labels:  recyclerview
Swipeablecards
Stars: ✭ 136 (-93.04%)
Mutual labels:  recyclerview
Tableview
A RecyclerView that looks like a TableView, can scroll horizontally and vertically with a fixed header at the same time.
Stars: ✭ 135 (-93.09%)
Mutual labels:  recyclerview
Omegarecyclerview
Custom RecyclerView with additional functionality. Allow you add divider, itemSpace, emptyView, sticky header and some other features
Stars: ✭ 132 (-93.24%)
Mutual labels:  recyclerview
Swipeback
SwipeBack is an android library that can finish a activity by using gesture.
Stars: ✭ 1,717 (-12.08%)
Mutual labels:  gesture
Easyrecyclerview
🎞 Easy recyclerview for Android
Stars: ✭ 131 (-93.29%)
Mutual labels:  recyclerview
Drag Select Recyclerview
👇 Easy Google Photos style multi-selection for RecyclerViews, powered by Kotlin and AndroidX.
Stars: ✭ 1,818 (-6.91%)
Mutual labels:  recyclerview
Sectionedrecyclerviewadapter
An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers. Each Section can have its state controlled individually.
Stars: ✭ 1,659 (-15.05%)
Mutual labels:  recyclerview
Simplerecyclerview
Android RecyclerView 简化使用: 下拉刷新, 加载更多, 加载中/空数据/错误页面, 固定Header, 分割线, 点击监听, Item 动画, 分组显示 Title. (Android RecyclerView easy-to-use: Pull-To-Refresh, load more, Loading/Empty/Error View, sticky headers, divider, click listener, item animation, group display.)
Stars: ✭ 134 (-93.14%)
Mutual labels:  recyclerview
Paintview
An Android View with Gesture Supported for Painting
Stars: ✭ 136 (-93.04%)
Mutual labels:  gesture
Customtvrecyclerview
Stars: ✭ 154 (-92.11%)
Mutual labels:  recyclerview
Fairygui Unity
A flexible UI framework for Unity
Stars: ✭ 2,007 (+2.76%)
Mutual labels:  gesture

InboxRecyclerView is a library for building expandable descendant navigation inspired by Google Inbox and Reply, and is an easy drop-in into existing projects. You can take a look at the sample app for best practices or download its APK for trying it out on your phone. If you're interested in learning how it was created, here's an in-depth blog post.

implementation 'me.saket:inboxrecyclerview:3.0.0'

Usage

Layout

<me.saket.inboxrecyclerview.InboxRecyclerView
  android:layout_width="match_parent"
  android:layout_height="match_parent" />

<me.saket.inboxrecyclerview.page.ExpandablePageLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@color/same_as_your_list_items">

  <!--
    Your expandable content will live here. Make sure that
    your page has a higher z-index than the list by giving
    it a higher view position or a higher elevation.
  -->
</me.saket.inboxrecyclerview.page.ExpandablePageLayout>

Expanding content

recyclerView.itemExpandAnimator = ItemExpandAnimator.scale() // or split() / none()
recyclerView.dimPainter = DimPainter.listAndPage(Color.WHITE, alpha = 0.65f)

recyclerView.expandablePage = findViewById(...).also {
  it.pushParentToolbarOnExpand(toolbar)
  it.addOnPullListener(PageCollapseEligibilityHapticFeedback(it))
}

recyclerViewAdapter.onItemClick = { clickedItem ->
  // Load or update your content inside the page here.
  recyclerView.expandItem(clickedItem.adapterId)
}

How do I…

Pull collapsible activities

To maintain consistency across your whole app, a PullCollapsibleActivity is also included that brings the same animations and gesture to activities with little effort.

Step 1. Extend PullCollapsibleActivity.

Step 2. Add these attributes to the activity’s theme:

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

License

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

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].