awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
drakeet avatar

drakeet/MultiType

0
View on GitHub↗
5,759 stars·746 forks·Kotlin·Apache-2.0·15 views

MultiType

MultiType is an Android RecyclerView adapter and UI component toolkit designed to map multiple data types to distinct layouts within a single scrolling list. It functions as a multi-type view manager that automates the association between diverse data models and their corresponding view holders.

The library includes a data-to-view expander that transforms single data objects into multiple list items, allowing complex information patterns to be represented across several rows. This mechanism enables the representation of complex data lists through object-to-item expansion.

The system manages heterogeneous content styles by handling dynamic view type resolution and type-to-layout mapping. It further simplifies UI development by decoupling view logic from specific holder declarations to reduce manual boilerplate during custom view binding.

Features

  • RecyclerView Adapter Wrappers - Provides a RecyclerView adapter that abstracts the complexity of mapping multiple data types to distinct layouts.
  • Heterogeneous RecyclerView Layouts - Handles multiple layout types within a single scrolling list to display diverse content styles and data patterns.
  • Model-Driven View Holders - Automates the association between diverse data models and their corresponding view holders.
  • Android UI Components - Offers a toolkit for implementing heterogeneous content styles in mobile list views.
  • Item Expansion - Transforms a single data object into multiple list items to represent complex information patterns.
  • Data-Driven List Population - Determines the final sequence of views by processing a data stream through expansion and mapping rules.
  • Dynamic View Type Resolution - Automatically resolves the correct layout at runtime based on the specific data type encountered during list population.
  • Data-to-Item Expanders - Transforms single data objects into multiple list items to represent complex information patterns across several rows.
  • Object-to-Item Expansion - Transforms a single data object into multiple list items to represent complex information patterns across several rows.
  • Type-to-Component Mappings - Automatically matches specific data classes to layout resources to manage diverse view types in a single list.
  • Expanded List Representations - Expands single data objects into multiple list items to show detailed information across several rows.
  • View Bindings - Connects custom layout logic to list items without manually declaring a view holder for every component.
  • Abstracted Bindings - Provides a mechanism to connect custom layouts to data without manual boilerplate for every view holder.
  • View-to-Data Mappings - Maps different data objects to specific UI layouts automatically to avoid repetitive boilerplate code.
  • List and Grid Components - Development of complex list pages.
  • List Components - Development of complex list pages.
  • Mobile UI & Components - Easier and more flexible to create multiple types for Android RecyclerView.

Star history

Star history chart for drakeet/multitypeStar history chart for drakeet/multitype

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does drakeet/multitype do?

MultiType is an Android RecyclerView adapter and UI component toolkit designed to map multiple data types to distinct layouts within a single scrolling list. It functions as a multi-type view manager that automates the association between diverse data models and their corresponding view holders.

What are the main features of drakeet/multitype?

The main features of drakeet/multitype are: RecyclerView Adapter Wrappers, Heterogeneous RecyclerView Layouts, Model-Driven View Holders, Android UI Components, Item Expansion, Data-Driven List Population, Dynamic View Type Resolution, Data-to-Item Expanders.

What are some open-source alternatives to drakeet/multitype?

Open-source alternatives to drakeet/multitype include: cymchad/baserecyclerviewadapterhelper — This project is an Android RecyclerView adapter wrapper designed to reduce boilerplate code when building complex… airbnb/epoxy — Epoxy is an Android library for building complex RecyclerView screens using a model-driven approach. It generates… hongyangandroid/baseadapter — baseAdapter is a generic adapter for Android list views designed to reduce boilerplate code when mapping data… alibaba/vlayout — vlayout is an Android RecyclerView extension framework that uses pluggable layout helpers to mix grid, list, sticky,… afollestad/drag-select-recyclerview — 👇 Easy Google Photos style multi-selection for RecyclerViews, powered by Kotlin and AndroidX. mikepenz/fastadapter — FastAdapter is a framework for building complex Android lists by mapping data models to view templates. It functions…

Open-source alternatives to MultiType

Similar open-source projects, ranked by how many features they share with MultiType.
  • cymchad/baserecyclerviewadapterhelperCymChad avatar

    CymChad/BaseRecyclerViewAdapterHelper

    24,607View on GitHub↗

    This project is an Android RecyclerView adapter wrapper designed to reduce boilerplate code when building complex lists. It serves as a framework for simplifying data binding and managing the interaction between data models and their corresponding view holders. The library distinguishes itself through specialized support for multi-type layout rendering, where diverse data models are mapped to specific layouts within a single list. It provides a structural implementation for expandable list frameworks that allow users to collapse or expand hierarchical items to reveal nested content. Addition

    Kotlinandroidandroid-libraryrecyclerview
    View on GitHub↗24,607
  • airbnb/epoxyairbnb avatar

    airbnb/epoxy

    8,556View on GitHub↗

    Epoxy is an Android library for building complex RecyclerView screens using a model-driven approach. It generates RecyclerView adapter models at compile time from annotated custom views, data binding layouts, or view holders, eliminating the manual boilerplate typically associated with view holders and adapters. The library provides a diffing engine that automatically compares model lists and applies minimal updates with animations for insertions, removals, and moves. The library distinguishes itself through its controller-based model building, where a controller class with a buildModels meth

    Java
    View on GitHub↗8,556
  • hongyangandroid/baseadapterhongyangAndroid avatar

    hongyangAndroid/baseAdapter

    4,709View on GitHub↗

    baseAdapter is a generic adapter for Android list views designed to reduce boilerplate code when mapping data collections to layouts. It serves as a bridge between data sources and UI components like RecyclerViews and GridViews, providing a reusable structure for Android list implementations. The project supports multi-type list adapters that associate specific data model classes with corresponding layout styles and view holders. It also includes a wrapper for injecting custom header and footer views into lists without modifying the original data set. Additional capabilities cover list state

    Java
    View on GitHub↗4,709
  • alibaba/vlayoutalibaba avatar

    alibaba/vlayout

    10,740View on GitHub↗

    vlayout is an Android RecyclerView extension framework that uses pluggable layout helpers to mix grid, list, sticky, staggered, and fixed layouts within a single scrollable view. It provides a modular layout delegation system where each section of the RecyclerView is assigned a dedicated layout helper that manages its own measurement, placement, and decoration, enabling complex heterogeneous content displays. The framework extends RecyclerView's LayoutManager to delegate layout logic to these modular helper components, supporting features like sticky headers that remain visible at the top dur

    Javaandroidlayoutlayout-manager
    View on GitHub↗10,740
  • See all 30 alternatives to MultiType→