22 Repos
Specialized view components for organizing layouts within Android applications.
Distinct from Interactive Layout Management: Shortlist candidates focus on window managers or log management; this is about layout interaction within an Android app.
Explore 22 awesome GitHub repositories matching mobile development · Android Layout Components. Refine with filters or upvote what's useful.
AndroidAutoSize is a screen adaptation library for Android that automatically scales layout dimensions and view sizes across different screen resolutions. It functions as an automatic layout scaler and view dimension manager, ensuring that user interface proportions remain consistent by referencing a base design dimension. The library allows developers to define screen measurements using alternative units such as millimeters, inches, or points instead of standard density-independent pixels. It includes capabilities for custom dimension overrides, enabling the scaling process to be disabled or
Provides a comprehensive set of utilities for automatically adapting layouts to maintain consistency across diverse Android screen resolutions.
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, wh
Applies precise padding and margins to ensure app content does not overlap with the system status or navigation bars.
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
Provides modular layout helpers to arrange child views in grid, list, sticky, and fixed patterns within RecyclerView.
AndroidSlidingUpPanel is an Android custom view component and sliding panel library used to create draggable overlays that slide up from the bottom of an application screen. It functions as a nested scrolling UI framework that coordinates touch events between a draggable panel and its internal scrollable content. The library distinguishes itself through a parallax effect implementation that shifts background content at different speeds than the foreground panel. It supports the definition of intermediate anchor points to create partial-view states and allows for transition physics customizati
Implements custom drag handles and anchor points to control the interaction between the sliding panel and other Android views.
Android-PullToRefresh is an Android view component and library designed to implement pull-to-refresh functionality and end-of-list detection for scrollable views within Android applications. It acts as a custom view that manages the animations and listener triggers necessary to update content via user interaction. The library provides mechanisms for triggering refresh actions when a user pulls from the boundaries of a scrollable view and detecting when a user reaches the bottom of a list to facilitate data pagination. It allows for the customization of the refresh indicator's visual theme and
Implements a specialized layout component for managing refresh animations and event triggers.
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
Provides automatic grid span adjustment for phone, tablet, and wide tablet screens.
BottomBar is an Android UI component that implements a Material Design bottom navigation bar. It serves as a reusable layout element for organizing top-level application destinations through a system of selectable tabs. The component features an adaptive layout system that optimizes horizontal space for tablet displays and uses density-aware adjustments for different screen dimensions. It includes a notification badge system to alert users of updates and supports conditional selection interception to prevent navigation based on application state or permissions. The library covers a broad ran
Adjusts navigation interface proportions to optimize horizontal space on larger Android displays.
Litho is an Android declarative UI framework and component library used to build user interfaces through a declarative API and immutable state. It functions as an asynchronous layout engine that maps components to a structured view hierarchy to automate view updates. The framework optimizes rendering performance by computing element positions on background threads to prevent blocking the main UI thread. It further improves efficiency by flattening nested view hierarchies and caching layout results. The system includes capabilities for state reconciliation, component recycling, and the render
Reduces memory overhead and rendering time by implementing component recycling and layout result caching.
AndroidAutoLayout is an Android library that converts pixel values from design mockups into percentage-based layouts, enabling consistent scaling across different screen resolutions. At its core, it functions as a pixel-to-percentage converter and screen resolution scaling tool, allowing developers to design layouts using exact pixel dimensions from mockups and have them automatically adapt to any target device. The library provides several distinctive approaches to screen adaptation. It can generate resolution-specific dimension resource files from a single baseline design, eliminating manua
Converts pixel values from design mockups into percentage-based layouts for consistent scaling across Android screen resolutions.
This is a personal portfolio website built as a React.js single-page application. It serves as a self-coded platform to present a developer's resume and showcase their GitHub projects. The site includes structured sections for listing technical skills, displaying work history and education, and presenting a curated collection of projects with descriptions and links. The layout is built with React-Bootstrap and custom CSS to adapt across desktops, tablets, and phones.
Resizes and reflows the layout for optimal viewing on desktops, tablets, and phones.
Rainbond is a Kubernetes-native application platform that deploys and manages containerized applications through a graphical interface, abstracting Kubernetes complexity so users can work without needing to learn Kubernetes commands or concepts. It provides a complete application lifecycle management system covering development, architecture, delivery, and operations from a single unified web interface, with automated workflows that handle cluster provisioning, application deployment, and ongoing management. The platform distinguishes itself through its application marketplace, which packages
Publishes components into a library for drag-and-drop assembly, version management, and iterative upgrades.
SwipeBackLayout ist eine Android-Bibliothek für Gestennavigation und eine View-Komponente, die dazu entwickelt wurde, Edge-Swipe-Gesten für die Navigation zurück zu vorherigen Bildschirmen zu implementieren. Sie bietet die zugrunde liegende Logik und das Layout-Management, die erforderlich sind, um horizontale Swipe-Übergänge in den Screen-Stack einer Anwendung zu integrieren. Die Bibliothek nutzt einen benutzerdefinierten Layout-Manager, um die gleichzeitige Bewegung von Vordergrund- und Hintergrund-Views zu koordinieren. Sie bildet horizontale Touch-Offsets auf die Translation und Opazität von View-Hierarchien ab und verwendet Interpolation, um den visuellen Fortschritt basierend auf dem Swipe-Prozentsatz zu berechnen. Das System beinhaltet Touch-Event-Interception, um Gesten auf der Elternebene zu verwalten, und verwendet zustandsbasierte Logik, um zu bestimmen, ob ein Übergang abgeschlossen werden soll oder basierend auf einem vordefinierten Schwellenwert zurückschnappt.
Provides a specialized Android layout component for organizing and managing screen movement during gestures.
BoomMenu ist eine Android-Bibliothek für radiale Menüs und ein UI-Animations-Framework, das für die Erstellung erweiterbarer Floating Action Buttons entwickelt wurde. Sie bietet eine Reihe programmierbarer Custom-View-Komponenten, die Untermenüelemente in radialen, horizontalen oder vertikalen Mustern mittels 3D-Transformationen einblenden. Die Bibliothek zeichnet sich durch eine 3D-Transformations-Animations-Engine aus, die nicht-lineares Easing, Skalierung und Rotation nutzt, um während der Menüerweiterung Tiefe zu erzeugen. Sie enthält spezialisierte Layout-Muster für Share-Style-Menüs und ein koordinatenbasiertes Mapping-System für präzise Elementverschiebung. Das Framework deckt ein breites Spektrum an UI-Funktionen ab, einschließlich flexibler Menükonstruktion mit beschrifteten Buttons, dynamischer Inhaltsaktualisierungen und Hintergrundabdunklung für den visuellen Fokus. Es unterstützt die Integration in verschiedene Android-Komponenten wie Action Bars, Fragmente und scrollbare Ansichten und bietet zudem Tools für ziehbare Positionierung und programmatische Zustandssteuerung. Um die Performance zu erhalten, implementiert das Projekt einen View-Recycling-Ressourcen-Cache, um Button-Instanzen wiederzuverwenden und die Objekterstellung während der Erweiterungszyklen zu reduzieren.
Embeds expandable radial menus into standard Android components like action bars, fragments, and scrollable lists.
SystemBarTint ist eine spezialisierte Bibliothek und ein Dienstprogramm für Android, das Hintergrundfarben und Layout-Dimensionen für die System-Status- und Navigationsleisten verwaltet. Es bietet einen Mechanismus zum Anwenden benutzerdefinierter Hintergrundtönungen auf diese System-Interface-Elemente, insbesondere bei Verwendung von transluzenten Fenstermodi. Das Projekt ermöglicht die Koordination von Anwendungs-Themes mit dem System-UI, indem die Verwendung benutzerdefinierter Farben oder Drawables für die Tönung erlaubt wird. Es enthält Tools zur Verwaltung von Full-Bleed-Inhalten durch Berechnung der exakten Pixel-Dimensionen und Positionen der Systemleisten, um das notwendige Layout-Padding und die Insets zu bestimmen. Die Bibliothek handhabt das Window-Flag-Management für Transluzenz und integriert sich in das Android-View-Layout, um sicherzustellen, dass Anwendungsinhalte nicht mit System-Interface-Komponenten überlappen.
Provides helper utilities to calculate padding and avoid overlaps with Android system bars.
This repository is a collection of reference implementations and galleries demonstrating best practices for the Android View system. It provides a set of practical examples for building user interfaces, including a component gallery and implementation guides for layouts, list performance, and motion design. The project distinguishes itself through detailed samples for coordinating layout animations and transition effects. It includes specialized demonstrations for complex motion animations using keyframes and interpolation, as well as a visualization tool for animation interpolation curves to
Provides a comprehensive set of components for organizing Android layouts across different screen states.
XUI ist ein natives Android-UI-Framework und eine Komponentenbibliothek für den Aufbau von Anwendungsoberflächen. Es bietet eine umfassende Suite nativer Layouts, Eingabefelder und Navigationselemente, unterstützt durch ein gestuftes Theme-Management-System zur Definition globaler visueller Attribute und responsiver Styles. Das Framework zeichnet sich durch einen spezialisierten Satz benutzerdefinierter Views und Interaktions-Toolkits aus, einschließlich hochperformanter Kalender, Datenvisualisierungs-Rendering und einer Vielzahl stilisierter Buttons mit integrierten Timern und visuellen Effekten. Es enthält zudem integrierte Medienverarbeitungsfunktionen wie Barcode- und QR-Code-Scanning, benutzerdefinierte QR-Generierung und eine Schnittstelle zum Zuschneiden von Bildern. Das Projekt deckt ein breites Spektrum an UI- und UX-Funktionen ab, einschließlich diverser Dateneingabekomponenten, Floating-Window-Primitiven und einer Vielzahl von Feedback-Indikatoren wie Snackbars und Fortschrittsanzeigen. Es bietet zudem Layout-Templating, Typografie-Konfiguration und Animationssysteme zur Verwaltung von View-Übergängen und interaktivem Feedback.
Implements layout adaptation logic to ensure a consistent experience across various Android screen sizes and OS versions.
Dialogplus ist eine Android-Dialog-UI-Bibliothek und ein Layout-Framework, das eine Sammlung anpassbarer Pop-up-Fenster und wiederverwendbarer Schnittstellenelemente bereitstellt. Es dient als Toolkit zur Organisation von Listen-, Raster- und benutzerdefinierten View-Inhalten innerhalb mobiler Bildschirmoverlays. Die Bibliothek ermöglicht das Rendern von Pop-up-Fenstern mit maßgeschneiderten Kopf- und Fußzeilen sowie Inhaltsbereichen. Sie enthält Systeme zur Platzierung dieser Overlays am oberen, mittleren oder unteren Rand des Displays unter Verwendung integrierter Animationen und vordefinierter Layout-Muster. Das Framework unterstützt eine flexible Inhaltsorganisation durch die Verwendung scrollbarer Listen, Raster und die Einbettung benutzerdefinierter Layouts oder spezifischer View-Instanzen. Diese Elemente werden über Datenadapter und strukturelle Container verwaltet, um konsistente visuelle Layouts beizubehalten.
Provides a toolkit for organizing list, grid, and custom view content specifically within mobile screen overlays.
Lottie ist eine JSON-Vektoranimations-Engine und ein plattformübergreifender Player, der auflösungsunabhängige Motion-Graphics rendert. Er fungiert als Laufzeit-Renderer, der Adobe After Effects-Kompositionen mithilfe einer JSON-basierten Zwischenrepräsentation in Echtzeit-Animationen übersetzt. Das Projekt zeichnet sich dadurch aus, dass es eine dynamische Steuerung von Vektor-Assets zur Laufzeit ermöglicht. Es erlaubt die programmatische Modifikation von Animations-Eigenschaften, Farben und Wiedergabezuständen durch hierarchische Key-Paths und dynamisches Theming. Dies ermöglicht es Animationen, auf Echtzeit-Anwendungszustandsänderungen und Benutzergesten zu reagieren. Die Engine deckt ein breites Spektrum an Funktionen ab, einschließlich hardwarebeschleunigtem Rendering und Modell-Caching für hohe Performance. Sie bietet eine umfassende Wiedergabesteuerung für Frame-Seeking, Segment-Looping und Event-Triggering, neben einem Rendering-System, das 3D-Kameras, Shape-Morphing und prozedurale Vektorgenerierung unterstützt. Das Asset-Management wird durch Multi-Source-Datenimport gehandhabt, der lokale Bundles, Netzwerk-URLs und verschiedene Vektordateiformate unterstützt.
Provides libraries to scale animations to fill various screen dimensions using cropping or filling modes.
FloatWindow ist eine Android-Bibliothek für die Erstellung von verschiebbaren Overlay-Views, die über verschiedene Anwendungen und Aktivitäten hinweg bestehen bleiben. Sie bietet spezialisierte Komponenten für die Implementierung von Floating Windows, die Verwaltung von systemweiten Overlay-Berechtigungen und die Berechnung von Bildschirmkoordinaten. Das Projekt verfügt über ein Fenster-Animations-Framework, das Snap-to-Edge-Verhalten und benutzerdefinierte Bewegungsanimationen ermöglicht. Es enthält einen Overlay-Berechtigungsmanager, um die für das Zeichnen von Oberflächen über anderen Anwendungen erforderlichen Systemberechtigungen anzufordern und zu überwachen. Das Toolkit deckt die UI-Positionierung mittels absoluter Pixel oder relativer Bildschirmprozentsätze ab, um Konsistenz über verschiedene Geräteauflösungen hinweg zu gewährleisten. Zudem bietet es Mechanismen zur Sichtbarkeitssteuerung, um Overlays basierend auf spezifischen Aktivitäten oder Hintergrundzustandsänderungen zu filtern, sowie eine Zustandsüberwachung für Echtzeit-Positions- und Sichtbarkeits-Updates.
Positions UI elements using screen percentages to ensure a consistent look across various device resolutions.
flutter_screenutil ist ein responsives UI-Framework und adaptives Layout-Tool für Flutter. Es bietet ein System zur Skalierung von Layout-Dimensionen und Schriftarten basierend auf einem Referenzdesign, um konsistente Proportionen über verschiedene Bildschirmauflösungen und Geräte hinweg sicherzustellen. Das Toolkit fungiert als Screen-Metrics-Provider, der Echtzeit-Geräteeigenschaften abruft, einschließlich Bildschirmbreite, -höhe, Pixeldichte und Safe-Area-Dimensionen. Es handhabt spezifisch die Layout-Anpassung bei Geräteorientierungsänderungen und Split-Screen-Modus-Updates. Das Framework deckt adaptives Typografie-Management, Layout-Skalierung und Screen-Metrics-Monitoring ab. Es enthält Mechanismen zur Steuerung von UI-Rebuilds bei Bildschirmgrößenänderungen und wendet Skalierungsgrenzen an, um die visuelle Integrität auf sehr großen oder kleinen Displays zu wahren.
Handles screen size changes and orientation shifts to ensure the UI fits various mobile device screens.