This repository contains examples for using the RecyclerView widget found in the Android Support Library.
This repository contains a sample code intended to demonstrate the capabilities of the RecyclerView API. It is not intended to be used as-is in applications as a library dependency, and will not be maintained as such. Bug fix contributions are welcome, but issues and feature requests will not be addressed.
The following bits can be found in the main sample application:
- Implementation of
LinearLayoutManager
andGridLayoutManager
for vertical and horizontal scrolling. - Implementation of
SimpleItemTouchcallback
for Drag and Swipe events based onItemTouchHelper
class. This class is a powerful utility that takes care of everything needed to add both drag and swipe-to-dismiss to a RecyclerView object. - Added a simple LoadMoreListener when ever we reach the last element we add more elements.
- Custom ItemDecorations
InsetDecoration
- Create an inset margin on all child views.DividerDecoration
- Create an inset margin and draw dividers below vertical child views.GridDividerDecoration
- Create an inset margin an draw dividers along grid lines
- Custom LayoutManager
FixedGridLayoutManager
- Similar toStaticGridLayoutManager
, but with a controllable column count.
The following examples are incubating on the experimental
branch (these mostly work, if you feel like living dangerously):
- Custom LayoutManagers
StaticGridLayoutManager
- 2D scrolling grid with variable column count based on data set. Window of visible (non-recycled) views is determined statically.DynamicGridLayoutManager
- 2D scrolling grid where window of visible views is determined dynamically. Results in fewer views in memory, but scrolling performance is questionable.
- Android SDK 25
- Android Build Tools v25.0.2
- Android Support Repository
The code supplied here is covered under the MIT Open Source License.