mirror of
https://github.com/leaf-wai/StackLayoutManager.git
synced 2026-03-16 01:22:50 +08:00
3.5 KiB
3.5 KiB
StackLayoutManager
Android library that provides A RecyclerView.LayoutManager implementation which provides functionality to show a group of stack view.
Overview
StackLayoutManager provides the following advantages:
- High performance: the bottom layer use the recyclerView recycle mechanism to allow you to display a large number of itemviews without OOM.
- Flexibility: you can choose which direction the card will slide out, and there are four directions to choose.
- Hight customization: if you want to implement animation and layout yourself, you can inherit StackAnimation or StackLayout to achieve the desired effect.
- Easy to use: you can start using it right away. All you need to do is to drop the JAR file into your project and replace LinearLayoutManager object in your code by com.littlemango.stacklayoutmanager.StackLayoutManager
Gradle integration
If you're using Gradle, you can declare this library as a dependency:
dependencies {
implementation 'com.littlemango:stacklayoutmanager:1.0.1'
}
Basic usage
The simplest way to use StackLayoutManager is by dropping the library JAR file into your project creating the StackLayoutManager object and pass it back to the RecyclerView object:
StackLayoutManager manager = new StackLayoutManager();
recyclerView.setLayoutManager(manager);
Advanced usage
- You can set the orientation of the card to slide out of the screen:
//orientation can be one of ScrollOrientation.BOTTOM_TO_TOP or TOP_TO_BOTTOM or RIGHT_TO_LEFT or LEFT_TO_RIGHT
ScrollOrientation orientation = ScrollOrientation.BOTTOM_TO_TOP
StackLayoutManager manager = new StackLayoutManager(orientation);
recyclerView.setLayoutManager(manager);
- You can set the visible item count:
//in the construction method
StackLayoutManager manager = new StackLayoutManager(ScrollOrientation.BOTTOM_TO_TOP, 3);
//or in setter method
manager.setVisibleItemCount(3);
- You can change the offset between items:
manager.setItemOffset(50);
- You can scroll smoothly or immediately to the specified position:
//scroll to position with animation
recyclerView.smoothScrollToPosition(3);
//scroll to position immediately without animation
recyclerView.scrollToPosition(3);
- You can set the view to turn only one page at a time, like a ViewPager, or you can turn pages continuously:
manager.setPagerMode(true or false);
- When in PagerView paging mode, you can set the minimum sliding velocity that triggers the paging effect:
manager.setPagerFlingVelocity(3000);
- I use the DefaultAnimation class to provide animation, which is inherited from StackAnimation, and you can inherit both classes to achieve the desired animation effect:
DefaultAnimation animation = new DefaultAnimation(ScrollOrientation.BOTTOM_TO_TOP, visibleCount);
manager.setAnimation(animation);
- I use the DefaultLayout class to implement the layout of items, which inherits from StackLayout. You can inherit both classes to achieve the layout effect you want:
StackLayoutManager manager = new StackLayoutManager(ScrollOrientation.BOTTOM_TO_TOP,
visibleCount,
DefaultAnimation.class,
DefaultLayout.class);
Sample
You can clone or download this project to your computer and install sample apk on your phone to see the effect.
License
MIT License See MIT License

