# zhihu/matisse

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/zhihu-matisse).**

12,530 stars · 2,048 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/zhihu/Matisse
- awesome-repositories: https://awesome-repositories.com/repository/zhihu-matisse.md

## Topics

`android` `android-image-picker` `android-image-selector` `android-library` `video-selector`

## Description

:fireworks: A well-designed local image and video selector for Android

## Tags

### Mobile Development

- [Android Image Pickers](https://awesome-repositories.com/f/mobile-development/android-image-pickers.md) — Selects images and videos from device storage with a system-style gallery interface for Android apps.
- [Activity Result Managers](https://awesome-repositories.com/f/mobile-development/activity-result-managers.md) — Returns selected media URIs to the caller through Android's Activity Result API using a prebuilt contract.
- [Media Pickers](https://awesome-repositories.com/f/mobile-development/media-pickers.md) — Opens a system-style picker to browse and select local images or videos from the device. ([source](https://github.com/zhihu/matisse#readme))
- [Thumbnail Grid Adapters](https://awesome-repositories.com/f/mobile-development/recyclerview-adapter-wrappers/thumbnail-grid-adapters.md) — Renders the media grid using a RecyclerView adapter that binds thumbnail bitmaps asynchronously from disk cache.

### Part of an Awesome List

- [Android Media Selection](https://awesome-repositories.com/f/awesome-lists/media/android-media-selection.md) — Returns the list of chosen media URIs to the calling Activity or Fragment via a result intent. ([source](https://github.com/zhihu/matisse#readme))
- [Image Display and Processing](https://awesome-repositories.com/f/awesome-lists/devtools/image-display-and-processing.md) — Local image and video selection library.
- [UI Components](https://awesome-repositories.com/f/awesome-lists/devtools/ui-components.md) — Local image and video selector.

### Development Tools & Productivity

- [Selection State View Models](https://awesome-repositories.com/f/development-tools-productivity/default-view-selections/selection-state-view-models.md) — Maintains the current selection set and count in a ViewModel that survives configuration changes and drives UI updates.

### Graphics & Multimedia

- [Content Provider Queries](https://awesome-repositories.com/f/graphics-multimedia/media-category-browsing/content-provider-queries.md) — Browses device media by querying the Android MediaStore content provider with custom projection and selection arguments.
- [Panoramic Media and Image Browsing](https://awesome-repositories.com/f/graphics-multimedia/panoramic-media-and-image-browsing.md) — Opens a system-style gallery interface to browse and select images and videos stored on the device. ([source](https://github.com/zhihu/matisse#readme))

### Software Engineering & Architecture

- [Media Filter Chains](https://awesome-repositories.com/f/software-engineering-architecture/request-validation/validation-chains/media-filter-chains.md) — Validates each candidate media item through a chain of user-defined filter rules before adding it to the selection set.

### User Interface & Experience

- [Fragment Embedding](https://awesome-repositories.com/f/user-interface-experience/ui-fragments/fragment-embedding.md) — Hosts the gallery and preview screens inside a dedicated Fragment that communicates with the parent Activity via callbacks.
- [Media Picker Theme Overlays](https://awesome-repositories.com/f/user-interface-experience/color-themes/theme-application-switching/media-picker-theme-overlays.md) — Ships a built-in light/dark theme switcher and supports fully custom theme overlays for the media picker interface. ([source](https://github.com/zhihu/matisse#readme))
- [Theme Overlays](https://awesome-repositories.com/f/user-interface-experience/overlay-systems/theme-overlays.md) — Switches visual appearance by applying a custom theme resource overlay that replaces default color and style attributes.
- [Multiple Selections](https://awesome-repositories.com/f/user-interface-experience/selectable-lists/multiple-selections.md) — Picks several images or videos at once from the gallery view. ([source](https://github.com/zhihu/matisse#readme))
- [Selection Limiters](https://awesome-repositories.com/f/user-interface-experience/selection-limiters.md) — Sets a maximum number of items a user can select and controls whether the count is shown on thumbnails. ([source](https://github.com/zhihu/matisse#readme))
- [Multi-Item Selection Prompts](https://awesome-repositories.com/f/user-interface-experience/terminal-user-interfaces/multi-item-selection-prompts.md) — Picks several images or videos at once from the gallery view with configurable selection limits.
- [Theme Customization](https://awesome-repositories.com/f/user-interface-experience/visual-theme-configurations/visual-themes/theme-customization.md) — Switches between light and dark themes or applies a fully custom theme to the media picker.

### Business & Productivity Software

- [Media Type Filters](https://awesome-repositories.com/f/business-productivity-software/tag-filtering-systems/message-filtering/media-type-filters.md) — Restricts the picker to show only images, only videos, or both, so users choose from the relevant content. ([source](https://github.com/zhihu/matisse#readme))

### Content Management & Publishing

- [Media Content Filters](https://awesome-repositories.com/f/content-management-publishing/media-content-filters.md) — Defines custom rules to exclude unwanted media based on criteria like size or resolution.
- [Media Selection Filters](https://awesome-repositories.com/f/content-management-publishing/media-management/media-selection-filters.md) — Defines custom criteria, such as minimum size or resolution, to exclude unwanted media from the picker. ([source](https://github.com/zhihu/matisse#readme))

### Web Development

- [Media Type Restrictions](https://awesome-repositories.com/f/web-development/media-type-restrictions.md) — Restricts the picker to show only images, only videos, or both for focused content selection.
