Skip to content

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. 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. 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. 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

ProjectStarsTypeLevelUpdatedBest for
vlayout (this)10.7kLibraryintermediate5.3 years agoAndroid developers building complex home or feed screens that mix layout styles in one scrolling view
react-native-elements25.9kLibraryintermediate6 months agoReact Native developers who want ready-made UI components
NativeBase20.4kLibraryintermediate9 months agoTeams maintaining an existing app already built on NativeBase
SnapKit20.3kLibraryintermediate4 months agoSwift developers building UIKit or AppKit interfaces in code rather than Interface Builder
Valdi16.4kLibraryadvanced6 days agoMobile teams who want one UI codebase for iOS and Android
react-native-calendars10.3kLibrarybeginner20 days agoReact 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.