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
gyf-dev avatar

gyf-dev/ImmersionBar

0
View on GitHub↗
11,459 stars·1,916 forks·Java·Apache-2.0·23 views

ImmersionBar

ImmersionBar is a set of control utilities for Android designed to manage immersive display modes, notch-aware layouts, virtual keyboard visibility, and system bar aesthetics. It provides a centralized way to maximize screen real estate by toggling full-screen displays and controlling the behavior of status and navigation bars.

The library distinguishes itself through specialized adaptation for hardware cutouts and notches, calculating precise offsets and window insets to prevent user interface elements from being obscured. It also includes a dedicated handler for soft keyboard management, which resolves conflicts between the virtual keyboard and bottom input fields to ensure active elements remain visible.

The project covers a broad range of UI optimization capabilities, including system bar styling for colors and transparency, icon contrast adjustments based on background luminance, and lifecycle-aware state coordination across activities, fragments, and dialogs. It further provides tools for retrieving pixel-precise display metrics and applying dynamic padding or margins to prevent content overlap with system interface elements.

Features

  • Immersive Mode System Bars - Maximizes screen real estate by hiding system bars and extending application content to fill the entire display.
  • Notch Display Adjustments - Calculates hardware cutout offsets to align critical layout elements and prevent occlusion by the camera notch.
  • Keyboard Occlusion Prevention - Adjusts the view frame automatically when the keyboard appears to ensure text input fields remain visible.
  • Window Flag Modifications - Toggles system bar visibility and full-screen behavior by modifying Android window flags and layout parameters at runtime.
  • Soft Keyboard Layout Managers - Handles layout shifts and view repositioning when the virtual keyboard appears to keep active input fields visible.
  • Soft Keyboard Window Managers - Manages window soft-input modes to prevent interface overlap when the Android virtual keyboard is displayed.
  • Soft Input Mode Controllers - Modifies window soft-input configurations to prevent interface overlap when the virtual keyboard is displayed.
  • Display Cutout Managers - Provides utilities for identifying safe screen areas to prevent UI content from being obscured by camera notches and cutouts.
  • System Bar Occlusion Avoidance - Applies padding and margins to stop system bars from obscuring critical application content and interactive elements.
  • Lifecycle-Aware Immersive Coordination - Coordinates immersive mode settings across screen components to ensure consistent styling during transitions.
  • Detection Utilities - Detects the presence of notch screens and retrieves their height to facilitate layout adjustments for cutouts.
  • Dimension Retrievals - Provides precise dimension retrieval for status bars, navigation bars, and notch areas to identify hardware display features.
  • Dimension Retrievals - Retrieves pixel-precise dimensions of status bars, navigation bars, and screen notches to ensure accurate interface positioning.
  • System Bar Visual Styling - Customizes the colors, transparency, and visibility of status and navigation bars across different screen types.
  • System Bar Overlap Preventions - Prevents content from overlapping with the status bar using padding, margins, or dedicated placeholder views.
  • System Bar Padding Utilities - Applies dynamic margins and padding to layout elements to ensure content does not overlap with system bars.
  • System Bar Controls - Controls the visibility, colors, and layout of Android status and navigation bars across different activities and fragments.
  • Edge-to-Edge Layouts - Extends the layout to occupy the entire screen by covering the area behind system navigation and status bars.
  • Inset Calculators - Determines system bar and hardware notch dimensions by querying window insets to apply precise layout offsets.
  • Keyboard Management - Uses listeners to detect virtual keyboard visibility changes to resolve layout conflicts with input fields.
  • Android Keyboard Event Tracking - Monitors soft keyboard events to adjust layouts and prevent input fields from being obscured.
  • System-Aware Layout Optimizations - Applies precise padding and margins to ensure app content does not overlap with the system status or navigation bars.
  • System Bar Layout Helpers - Applies precise padding and margins to ensure Android app content does not overlap with system bars.
  • System Bar Compatibility Layers - Provides a compatibility layer to manage system bar behavior across various Android versions and screen orientations.
  • Android System Bar Stylers - Adjusts the colors and appearance of status and navigation bars to match an app's visual theme.
  • Cross-Component Bar Styling - Sets colors and transparency for status and navigation bars across activities, fragments, and dialogs.
  • Color Themes - Updates system bar colors and icon styles based on the application's visual theme and window attributes.
  • Semantic Color Mappings - Updates status and navigation bar icon colors using theme resource mapping for visual contrast.
  • System Bar Style Coordinators - Synchronizes system bar styling across activities and fragments to ensure visual consistency during screen transitions.
  • Multi-Container Immersive Support - Applies immersive settings across activities, fragments, dialogs, and popup windows.
  • Fragment-Based Bar Orchestration - Manages status and navigation bar styles during fragment lifecycle events and pager transitions.
  • Luminance-Based Contrast Adjustments - Adjusts status bar fonts and navigation icons to ensure high contrast based on the background color.
  • Icon Contrast Controllers - Toggles the color of status bar fonts and navigation icons based on background luminance to ensure legibility.
  • System Bars - Immersive status bar implementation.

Star history

Star history chart for gyf-dev/immersionbarStar history chart for gyf-dev/immersionbar

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Projects sharing features with ImmersionBar

These projects share indexed features with ImmersionBar. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • jgilfelt/systembartintjgilfelt avatar

    jgilfelt/SystemBarTint

    5,321View on GitHub↗

    SystemBarTint is a specialized library and utility tool for Android that manages background colors and layout dimensions for the system status and navigation bars. It provides a mechanism for applying custom background tints to these system interface elements, specifically when using translucent window modes. The project enables the coordination of application themes with system UI by allowing the use of custom colors or drawables for tinting. It includes tools to manage full-bleed content by calculating the exact pixel dimensions and positions of system bars to determine the necessary layout

    Java
    View on GitHub↗5,321
  • jacksgong/jkeyboardpanelswitchJacksgong avatar

    Jacksgong/JKeyboardPanelSwitch

    4,172View on GitHub↗

    JKeyboardPanelSwitch is an Android library designed to manage soft keyboard visibility and coordinate transitions between the software keyboard and custom input panels. It functions as a layout manager and state tracking system that monitors keyboard height and visibility to prevent layout flickering. The library focuses on synchronizing layout dimensions and resolving transition conflicts to eliminate visual jumps. It utilizes real-time window inset tracking and coordinate-based synchronization to align overlapping interface elements precisely during input method switches. The system includ

    Java
    View on GitHub↗4,172
  • laobie/statusbarutillaobie avatar

    laobie/StatusBarUtil

    8,758View on GitHub↗

    StatusBarUtil is an Android library that provides comprehensive control over the status bar's appearance, enabling developers to customize its color, transparency, and icon style. The library handles the underlying complexity of Android window flag manipulation and API-level conditional logic, applying the correct styling technique based on the device's Android version for broad compatibility. The library distinguishes itself through specialized integrations with common Android UI patterns. It coordinates status bar transparency with DrawerLayout's fitsSystemWindows flag for seamless drawer o

    Javaandroidstatusbarstatusbarutil
    View on GitHub↗8,758
  • kirillzyusko/react-native-keyboard-controllerkirillzyusko avatar

    kirillzyusko/react-native-keyboard-controller

    3,349View on GitHub↗

    This is a keyboard interaction library and manager for React Native that provides smooth animations, gesture-based dismissal, and event tracking. It serves as a cross-platform keyboard event bus, ensuring consistent keyboard show and hide behavior between iOS and Android. The project features an interactive animation driver that links native keyboard frame events directly to animated values to bypass bridge round-trips. It enables interactive keyboard dismissal via swipe gestures and includes a keyboard preloading system to eliminate first-show latency and input lag. The library provides com

    TypeScriptandroidanimationavoiding-view
    View on GitHub↗3,349
Compare all 30 related projects→

Frequently asked questions

What does gyf-dev/immersionbar do?

ImmersionBar is a set of control utilities for Android designed to manage immersive display modes, notch-aware layouts, virtual keyboard visibility, and system bar aesthetics. It provides a centralized way to maximize screen real estate by toggling full-screen displays and controlling the behavior of status and navigation bars.

What are the main features of gyf-dev/immersionbar?

The main features of gyf-dev/immersionbar are: Immersive Mode System Bars, Notch Display Adjustments, Keyboard Occlusion Prevention, Window Flag Modifications, Soft Keyboard Layout Managers, Soft Keyboard Window Managers, Soft Input Mode Controllers, Display Cutout Managers.

Which projects share features with gyf-dev/immersionbar?

Projects with overlapping indexed features include: jgilfelt/systembartint — SystemBarTint is a specialized library and utility tool for Android that manages background colors and layout… jacksgong/jkeyboardpanelswitch — JKeyboardPanelSwitch is an Android library designed to manage soft keyboard visibility and coordinate transitions… laobie/statusbarutil — StatusBarUtil is an Android library that provides comprehensive control over the status bar's appearance, enabling… kirillzyusko/react-native-keyboard-controller — This is a keyboard interaction library and manager for React Native that provides smooth animations, gesture-based… dayanch96/ytlite — YTLite is a modified YouTube client and a set of specialized extensions designed to provide expanded controls over… adi1090x/polybar-themes — This project is a collection of visual styles, layout variants, and color schemes for the Polybar status bar on Linux.…