71 Repos
APIs for generating UI components programmatically as an alternative to declarative markup.
Distinct from Interface Element Management: None of the candidates address the programmatic construction of UI elements.
Explore 71 awesome GitHub repositories matching user interface & experience · Programmatic Element Construction. Refine with filters or upvote what's useful.
MPAndroidChart is an Android charting library and data visualization framework that provides a set of reusable view components for rendering statistical data. It enables the display of numerical datasets through various chart types, including line, bar, pie, radar, bubble, and candlestick charts. The library focuses on an interactive graphing workflow, allowing users to explore complex data sets through scaling, panning, and animations. It includes specific support for financial charting to track market trends and price movements, as well as tools for building mobile dashboards.
Extends the Android View class to override onDraw and onMeasure for precise control over the rendering pipeline.
ButterKnife is an Android view binding library and Java annotation processor that automates the linking of UI elements and resources to class fields and methods. It functions as a system for managing view references and event listeners to reduce repetitive setup code in Android applications. The library uses compile-time code generation to replace manual view lookups and type casting with generated helper classes, ensuring a reflection-free runtime. It differentiates itself by providing mechanisms for binding interaction events directly to methods, eliminating the need for anonymous inner cla
Performs interface binding on custom components or sub-screens by specifying a root view for the layout.
PhotoView is a reusable Android UI component that provides a zoomable image view. It is designed to handle gesture detection, image scaling, and coordinate tracking for images within Android applications. The component enables users to enlarge and move images through pinch-to-zoom and panning gestures. It also includes capabilities for image tap detection to facilitate interactive responses. The library manages image interactions through matrix-based scaling and touch event interception. It includes a system for tracking image transformations and notifying observers when zoom or scroll posit
Implements a custom Android view that enables pinch-to-zoom and panning for images.
PhotoView is a custom Android view implementation designed to display high-resolution images with native support for zoom and pan gestures. It provides a zoomable image view and a matrix controller to manage how images are scaled and translated within a mobile user interface. The library handles the detection of pinch-to-zoom and tap gestures to enable interactive image navigation. It manages the transformation matrix of the image to ensure smooth magnification and provides viewport constraints to align photo edges with screen boundaries. The project covers the broader requirements of mobile
Provides a custom Android view specifically designed for zooming and panning images.
This project is a modular framework designed for building custom visual editors and low-code design environments. It provides a core engine that manages the lifecycle of web application projects, enabling developers to construct extensible design surfaces, component management systems, and property configuration panels. The platform distinguishes itself through a plugin-based architecture that allows for the injection of custom functionality and UI components at runtime. It utilizes a standardized protocol for component metadata, ensuring that materials remain interoperable across different d
Enables the construction of custom design environments by managing panels, hotkeys, and layout components.
Anko is an Android Kotlin library designed to simplify application development through a set of domain-specific languages and extensions. It functions as a programmatic UI DSL, an SQLite wrapper, an SDK utility, and an asynchronous framework. The project provides a declarative layout system that allows developers to build user interfaces through code instead of static XML markup. It distinguishes itself by offering a fluent database layer that eliminates manual cursor management and a concurrency system that uses weak references to prevent memory leaks in activities. The library covers broad
Defines view hierarchies through a programmatic Kotlin builder that replaces static XML markup.
DearPyGui is a GPU-accelerated, immediate-mode graphical user interface framework for Python. It provides a high-performance toolkit for building interactive desktop applications by leveraging native hardware-accelerated rendering backends across multiple operating systems. By utilizing an immediate-mode execution model, the library offers direct control over the rendering loop and element state, enabling the creation of responsive, dynamic interfaces. The framework distinguishes itself through its ability to handle complex, high-frequency visual updates, making it suitable for real-time data
Provides a high-performance, GPU-accelerated framework for building interactive desktop applications with immediate-mode rendering.
CircleImageView is a custom Android UI component that renders rectangular images as perfect circles with smooth antialiased edges. It functions as an extension of the native Android image view, overriding the drawing pipeline to provide specialized circular masking. The component specifically supports the creation of user profile avatars by providing customizable borders, internal padding, and background fill colors. These visual styles can be defined through custom XML attributes during the view initialization process.
Overrides the native onDraw method to implement manual control of the rendering pipeline for circular masking.
iscroll is a JavaScript smooth scrolling library and web interaction framework. It provides a 2D web panning controller and a CSS transform zoom engine to manage inertial scrolling, panning, and zooming for web elements across different devices. The project enables the implementation of custom scrollbar interfaces and navigation maps that track the current viewport position. It supports the creation of interactive web carousels with element snapping, web parallax effects, and content scaling via pinch-to-zoom or mouse-wheel inputs. The library covers a broad range of interaction capabilities
Displays a small-scale navigation window tracking the current viewing area relative to the entire document.
AndroidSwipeLayout is an Android UI library and custom view framework that enables the creation of layouts that reveal hidden action buttons when a user performs a swipe gesture. It functions as a gesture-based UI component that triggers callbacks based on the real-time position of the swipe. The framework is designed to support complex interaction patterns, specifically allowing for the nesting of multiple swipeable components within one another. The library covers mobile gesture interaction and custom view orchestration, providing tools to track swipe states and synchronize UI changes duri
Builds complex nested layouts where multiple swipeable components interact without conflicting with each other.
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Allows generating UI components programmatically by defining element types, properties, and children.
MaterialDrawer is a navigation drawer library and side menu framework for Android applications. It provides a Material Design UI component that implements a sliding side menu to manage user movement between different sections of a mobile application. The framework supports the organization of complex navigation lists, including the use of expandable sections, sticky headers, and badges. It includes tools for building personalized interfaces, such as user profile displays and headers. The library handles navigation through item management, event handling via listeners, and state-driven UI upd
Implements a specialized Android View with custom rendering logic to manage the side navigation panel's movement.
Visdom is a tool for scientific experiment tracking and real-time data monitoring. It provides a programmatic interface for broadcasting live plots, rich media, and training metrics from scripts to an interactive web dashboard. The project specializes in high-dimensional data analysis, offering capabilities to project complex feature sets into 2D space using t-SNE and visualize PyTorch model embeddings. It organizes visualizations into named environments, allowing users to isolate different experimental runs and compare plots across these environments in a single view. The system covers a br
Generates dashboard elements and property panes programmatically via a remote API.
Android-ViewPagerIndicator is an Android UI component that provides visual paging indicators for ViewPager screens. It consists of a set of widgets, such as dots or titles, that show the current page position and total count within a paginated layout. The library integrates with the Android SDK and Support Library to provide navigation feedback. It synchronizes visual states with a ViewPager to reflect a user's progress as they swipe through content. The project includes options for indicator styling customization via themes, layout attributes, or programmatic method calls.
Overrides the onDraw method to manually paint shapes that reflect the current page index.
MagicIndicator is a library for rendering visual page markers and navigation tabs that synchronize with paginated views in Android applications. It provides a set of tools for implementing interactive page indicators, including components for tracking and controlling page positions within sliding containers and fragment navigation systems. The project supports customizable tab navigation through custom layout files and interface-based styling. It enables the integration of notification badges, allowing numeric or status markers to be overlaid on navigation tabs to alert users of updates. The
Allows custom visual styles through the implementation of predefined interfaces to decouple logic from view drawing.
android-gif-drawable is a rendering library for displaying and controlling animated GIF images within Android image views and drawables. It provides a custom drawable implementation for frame-based animations, a playback system for seeking and looping, and a metadata extractor for retrieving technical properties such as frame counts and loop settings. The library enables the synchronization of a single animation instance across multiple views to ensure consistent playback. It supports loading GIF data from various sources, including assets, resources, URIs, byte arrays, files, and input strea
Implements a custom Drawable class to integrate animation logic directly into the Android view system.
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 a custom view that overrides standard measurement and drawing for sliding panel transitions.
CalendarView is a high-performance Android UI component designed for displaying dates and navigating chronological views. It functions as a canvas-based widget that utilizes direct drawing instead of standard list views to minimize memory usage and ensure fast rendering of complex date interfaces. The component provides a programmable interface for switching between month, week, year, and lunar views. It differentiates itself through a pluggable customization system that allows developers to override the drawing logic for dates, text, event markers, and selection layouts. The library support
A high-performance canvas rendering system for displaying dates in month, week, year, or lunar views.
MaterialDesignLibrary is an Android Material Design UI library and cross-version framework. It provides a collection of pre-built interface controls and a compatibility layer that enables modern design patterns on older Android devices starting from version 2.2. The project focuses on bringing updated design standards to legacy Android versions to ensure a consistent user experience. This is achieved through a compatibility layer that implements modern interface elements without sacrificing visual quality on outdated operating system releases. The library includes a variety of functional com
Overrides standard Android view measurement and drawing methods to implement custom rendering for older OS versions.
Android-SpinKit is an Android animation library that provides a collection of animated loading spinner views for use as progress indicators during asynchronous operations. The library offers multiple predefined animation styles, including Circle, Wave, and DoubleBounce, which can be selected and displayed as standard Android View elements within an application's layout. The library distinguishes itself by being built entirely on the Android SDK's drawing and animation APIs, with no external dependencies required. Each spinner type implements a distinct animation state machine using Android's
Renders each spinner as a custom Android View that overrides onDraw for frame-by-frame canvas animations.