# google/accompanist

**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/google-accompanist).**

7,824 stars · 674 forks · Kotlin · Apache-2.0

## Links

- GitHub: https://github.com/google/accompanist
- Homepage: https://google.github.io/accompanist
- awesome-repositories: https://awesome-repositories.com/repository/google-accompanist.md

## Topics

`android-library` `jetpack-compose`

## Description

Accompanist is a collection of extension libraries that provide additional functionality and specialized components for the Jetpack Compose UI framework. It serves as a toolkit for implementing common layout and system tasks that extend the core capabilities of declarative UI development on Android.

The library provides specialized utilities for managing modal bottom sheet destinations and defining custom animations for screen transitions within a navigation graph. It includes tools for detecting screen folds and display features to create adaptive layouts that adjust based on window size and physical hardware.

The project also covers the declarative management of system runtime permissions and the configuration of status and navigation bar appearance. Additionally, it provides utilities for converting Android drawable resources into painters to render static and animated vector graphics.

## Tags

### Mobile Development

- [Compose UI Extensions](https://awesome-repositories.com/f/mobile-development/compose-ui-extensions.md) — Provides a collection of utility libraries that extend the functional capabilities of the Jetpack Compose framework.
- [Jetpack Navigation Components](https://awesome-repositories.com/f/mobile-development/jetpack-navigation-components.md) — Implements specialized components for managing screen transitions and modal bottom sheets within a navigation graph.
- [Bottom Sheet Screen Presentations](https://awesome-repositories.com/f/mobile-development/navigation-routing/navigators/bottom-sheet-screen-presentations.md) — Presents bottom sheets as navigable screens within a structured navigation stack. ([source](https://google.github.io/accompanist/navigation-material/))

### User Interface & Experience

- [Adaptive UI Layouts](https://awesome-repositories.com/f/user-interface-experience/responsive-layout-adapters/adaptive-ui-layouts.md) — Provides a toolkit for building user interfaces that automatically adjust based on screen size and window configuration. ([source](https://cdn.jsdelivr.net/gh/google/accompanist@main/README.md))
- [Display Feature Detectors](https://awesome-repositories.com/f/user-interface-experience/display-mode-detection/display-feature-detectors.md) — Detects physical screen folds and hardware cutouts to adapt user interface layouts. ([source](https://google.github.io/accompanist/adaptive/))
- [Fold-Aware Layouts](https://awesome-repositories.com/f/user-interface-experience/fold-aware-layouts.md) — Arranges UI elements to automatically prevent content from overlapping physical screen folds on foldable devices. ([source](https://google.github.io/accompanist/adaptive/))
- [Declarative Drawable Integration](https://awesome-repositories.com/f/user-interface-experience/programmatic-element-construction/android-view-lifecycle-tracking/custom-view-rendering/custom-drawables/declarative-drawable-integration.md) — Bridges legacy Android drawable assets into a declarative painting system for vector graphics. ([source](https://cdn.jsdelivr.net/gh/google/accompanist@main/README.md))
- [Foldable Screen Layouts](https://awesome-repositories.com/f/user-interface-experience/responsive-layout-adapters/adaptive-ui-layouts/foldable-screen-layouts.md) — Includes tools for detecting screen folds and adapting layouts based on window size and display features.
- [Android System Bar Stylers](https://awesome-repositories.com/f/user-interface-experience/android-system-bar-stylers.md) — Provides utilities to customize the colors and appearance of Android status and navigation bars.
- [Navigation Integrations](https://awesome-repositories.com/f/user-interface-experience/bottom-sheets/navigation-integrations.md) — Integrates modal bottom sheet destinations directly into a managed navigation graph for routing.
- [Constraint Layout Engines](https://awesome-repositories.com/f/user-interface-experience/constraint-layout-engines.md) — Implements layout calculations that resolve component geometry based on dynamic hierarchical constraints.
- [Status Bar Appearance Controls](https://awesome-repositories.com/f/user-interface-experience/status-bars/status-bar-customizers/status-bar-color-settings/status-bar-appearance-controls.md) — Provides controls for setting the background color and style of the device status bar. ([source](https://google.github.io/accompanist/systemuicontroller/))
- [System Bar Visual Styling](https://awesome-repositories.com/f/user-interface-experience/status-bars/status-bar-customizers/system-bar-visual-styling.md) — Provides programmatic customization of colors and contrast for Android status and navigation bars.
- [Drawable-to-Painter Converters](https://awesome-repositories.com/f/user-interface-experience/vector-graphics-rendering/drawable-to-painter-converters.md) — Converts Android drawable resources into painters to render static and animated vector graphics.

### Graphics & Multimedia

- [Drawable Asset Conversion](https://awesome-repositories.com/f/graphics-multimedia/android-media-rendering-frameworks/drawable-asset-conversion.md) — Translates Android drawable and vector assets into painters compatible with the Compose rendering engine.

### Security & Cryptography

- [Permission Request Workflows](https://awesome-repositories.com/f/security-cryptography/permission-systems/permission-request-workflows.md) — Manages the lifecycle and user-facing workflow of Android runtime permission requests. ([source](https://google.github.io/accompanist/permissions/))
- [Request State Tracking](https://awesome-repositories.com/f/security-cryptography/permission-systems/permission-request-workflows/observable-request-flows/request-state-tracking.md) — Provides observable state tracking for Android runtime permission requests within the UI tree.
- [Runtime Permission Management](https://awesome-repositories.com/f/security-cryptography/runtime-permission-management.md) — Handles the request and validation of system-level permissions while the application is running. ([source](https://cdn.jsdelivr.net/gh/google/accompanist@main/README.md))

### Part of an Awesome List

- [Navigation Transitions](https://awesome-repositories.com/f/awesome-lists/devtools/animation-and-transitions/navigation-transitions.md) — Implements custom enter and exit animations for transitions between different screens. ([source](https://google.github.io/accompanist/navigation-animation/))

### Software Engineering & Architecture

- [Navigation Transition Mappings](https://awesome-repositories.com/f/software-engineering-architecture/state-transition-mapping/navigation-transition-mappings.md) — Defines custom enter and exit animations by mapping navigation routes to specific movement patterns.
