
vlayout
An Android library that lets one RecyclerView mix grids, lists and other layouts together.
- Stars
- 10.7k
- Forks
- 1.8k
- Licence
- MIT
- Language
- Java
- Last update
- 5.3 years ago
- Type
- Library
This repository is archived and no longer maintained.
What it is
vlayout is an Android library that extends RecyclerView with a custom LayoutManager. It lets a single scrolling list contain sections laid out in different styles, such as a linear list, a grid, a fixed element, or a waterfall. The README says it was built for complex screens where several layout types must sit in the same RecyclerView. The project is archived and no longer maintained.
- Build a screen that shows a banner, then a grid of products, then a single-column list in one RecyclerView
- Pin a view at a fixed position on screen using FixLayoutHelper or StickyLayoutHelper
- Combine several sub-adapters into one list with DelegateAdapter
Great for
- Android developers building complex home or feed screens that mix layout styles in one scrolling view
- Teams already using the Tangram framework or an existing RecyclerView codebase that needs mixed layouts
- Developers who want to read or adapt a known open-source approach to multi-layout RecyclerViews
Not ideal for
- New projects that need active maintenance: the README says the project is no longer maintained and the repository is archived
- Non-Android or web projects, since it is a RecyclerView extension for Android
- Simple screens with one layout style, where a standard RecyclerView is enough
How to get it
- 1
Install with a package manager
You'll need: Android project using RecyclerView · Gradle or Maven build setup
Gradle dependency (from README, version shown there is 1.2.8)
compile ('com.alibaba.android:vlayout:1.2.8@aar') { transitive = true } - 2
Run it
- Add the vlayout dependency to your Gradle or Maven build file
- Create a VirtualLayoutManager and set it on your RecyclerView
- Create a DelegateAdapter and add sub-adapters, each with a LayoutHelper such as GridLayoutHelper or LinearLayoutHelper
- Set the adapter on the RecyclerView and run the app
- 3
Get the most out of it
- Set a recycled pool size for each view type, as the README recommends, to avoid recreating views while scrolling
- Use hasConsistItemType in DelegateAdapter to control whether sub-adapters share view types
- Read the layout attributes documentation in docs/ATTRIBUTES.md to tune each LayoutHelper
- Run the examples folder in the repository to see working code
Downloads
Strengths
- Supports many layout types in one RecyclerView, including linear, grid, staggered grid, fixed, sticky and float
- Separates view code from layout logic through LayoutHelper classes, as described in the README
- Released under the MIT license, which permits reuse
Trade-offs
- The README states the project is no longer maintained, so bugs and Android updates may not be addressed
- Setup needs care: the README asks for a recycled pool size per view type and specific ProGuard rules
- Documentation is thin in the README and the FAQ is in Chinese only, per the README
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| vlayout (this) | 10.7k | Library | intermediate | 5.3 years ago | Android developers building complex home or feed screens that mix layout styles in one scrolling view |
| react-native-elements | 25.9k | Library | intermediate | 6 months ago | React Native developers who want ready-made UI components |
| NativeBase | 20.4k | Library | intermediate | 9 months ago | Teams maintaining an existing app already built on NativeBase |
| SnapKit | 20.3k | Library | intermediate | 4 months ago | Swift developers building UIKit or AppKit interfaces in code rather than Interface Builder |
| Valdi | 16.4k | Library | advanced | 6 days ago | Mobile teams who want one UI codebase for iOS and Android |
| react-native-calendars | 10.3k | Library | beginner | 20 days ago | React Native developers who need a calendar or date picker screen |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.