-
Notifications
You must be signed in to change notification settings - Fork 545
5.x | Library structure
Davide Steduto edited this page Feb 10, 2016
·
28 revisions
Package/Class/Interface | Description |
---|---|
eu.davidea.fastscroller | |
FastScroller |
Fast ScrollBar imported from the project LollipopContactsRecyclerViewFastScroller and specifically adapted for this library: it works in conjunction with FlexibleAnimatorAdapter .It will be removed in favor of this handsome library MaterialScrollBar which provides easier way to setup it and lot more functionalities. |
eu.davidea.flexibleadapter | |
*FlexibleAdapter
|
Front level of the Adapter. It's the core of the library. Provides all methods to manage the items. Holds the main list and the event interfaces. Extends FlexibleAnimatorAdapter . |
*FlexibleAnimatorAdapter
|
Middle level of the Adapter. Provides methods to animate the items at the startup and during scroll action. For the moment, it holds static methods to compose the Animators, these methods will be moved in the Helper Class. Extends SelectableAdapter . |
*SelectableAdapter
|
Lowest level of the Adapter. Provides selection functionalities and the FastScroller methods. |
SmoothScrollLinearLayoutManager |
Enhanced LayoutManager that adds the AutoScroll behavior for expandable items. You should use this LayoutManager for the RecyclerView. For the moment, only Linear is supported. |
eu.davidea.flexibleadapter.helpers | |
ItemTouchHelperCallback |
Internal helper for Drag&Drop and Swipe functionalities. Holds internal interfaces for the Adapter. It is not completed yet: For swipeable items, it will support a childViewHolder to be displayed below the current ViewHolder during the swipe action. It will provides easy way to add such view. |
eu.davidea.flexibleadapter.items | |
*AbstractFlexibleItem
|
Abstract implementation for basic items. Holds flags and view holder creation. |
*AbstractExpandableItem
|
Abstract implementation of expandable items. Holds an internal list for the subItems and the methods to manage it. Extends AbstractFlexibleItem . |
*AbstractSectionableItem
|
Abstract implementation of header items. Holds the item reference to which it is attached to. |
IExpandable |
Add expandable functionality to the item. The adapter will check if the item belongs to this interface in order to be expanded or collapsed. |
IFlexibleItem |
Basic interface for any item, the Adapter relies on this interface to set and read the current item status. Also it provides methods to: - Auto-map a view type - Create and bind the ViewHolder of the item. |
ISectionable |
Add header functionality to the item. The Adapter treats this item differently, the linked item inside is monitored and automatically adapted if this is removed or inserted. Still under analysis. |
IAnimable |
Not yet analysed. |
IFilterable |
Not yet analysed. |
eu.davidea.flexibleadapter.utils | |
Utils |
Internal utils for the library. Methods are declared public static. |
eu.davidea.viewholders | |
*ExpandableViewHolder
|
ViewHolder for expandable items, you should extend this class if you want an expandable item, to benefit of the already implemented methods. Extends FlexibleViewHolder . |
*FlexibleViewHolder
|
Basic ViewHolder. It handles the 4 listeners: ItemClickListener ItemLongClickListener ItemMoveListener ItemSwipeListener and the activation of the view. Also, it provides complex logic for selection coherence.You should extend this class if you want to benefit of the already implemented methods. |
* = Abstract class
- Update Data Set
- Selection modes
- Headers and Sections
- Scrollable Headers and Footers
- Expandable items
- Drag&Drop and Swipe
- EndlessScroll / On Load More
- Search Filter
- FastScroller
- Adapter Animations
- Third party Layout Managers
- Payload
- Smooth Layout Managers
- Flexible Item Decoration
- Utils
- ActionModeHelper
- AnimatorHelper
- EmptyViewHelper
- UndoHelper
* = Under revision!