# lygttpod/supertextview

**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/lygttpod-supertextview).**

3,762 stars · 587 forks · Java

## Links

- GitHub: https://github.com/lygttpod/SuperTextView
- awesome-repositories: https://awesome-repositories.com/repository/lygttpod-supertextview.md

## Description

SuperTextView is a custom Android UI component that combines multiple text and image segments into a single view to reduce layout hierarchy depth and improve performance. It functions as an interactive text component and a layout optimization tool, rendering complex compositions on a single canvas.

The component features a programmatic styling system for defining borders, corner radii, and fill colors via code rather than static XML drawable files. It also integrates with third-party image loading libraries to fetch and display remote assets directly within its structured layouts.

The view utilizes a three-column layout model to arrange text, icons, and checkboxes with independent alignment and margin controls. It supports granular user interaction by mapping touch coordinates to specific text regions, allowing for independent click listeners within a single composite layout.

## Tags

### Mobile Development

- [Custom Android Views](https://awesome-repositories.com/f/mobile-development/custom-android-views.md) — Provides a specialized custom Android view that optimizes performance by combining multiple elements into a single component.
- [Interactive Layout Regions](https://awesome-repositories.com/f/mobile-development/android-layout-components/interactive-layout-regions.md) — Maps touch coordinates to internal element boundaries to trigger independent click listeners within a single composite view.
- [Layout Optimizations](https://awesome-repositories.com/f/mobile-development/android-layout-components/layout-optimizations.md) — Reduces layout hierarchy depth and rendering overhead by drawing multiple elements on a single canvas.
- [Asynchronous Loading](https://awesome-repositories.com/f/mobile-development/android-image-loading/asynchronous-loading.md) — Implements background fetching of remote images to ensure the UI remains responsive during rendering.

### Graphics & Multimedia

- [Segmented Region Mapping](https://awesome-repositories.com/f/graphics-multimedia/canvas-coordinate-transformations/touch-to-canvas-coordinate-mapping/segmented-region-mapping.md) — Maps touch coordinates to specific internal boundaries to trigger independent click listeners for segmented regions.
- [Programmatic Canvas Drawing](https://awesome-repositories.com/f/graphics-multimedia/graphics-and-media/shape-drawing/interactive-canvas-drawing/programmatic-canvas-drawing.md) — Renders custom shapes and borders programmatically using the Android Paint and Canvas API.
- [Segmented Text Layouts](https://awesome-repositories.com/f/graphics-multimedia/text-shaping-and-layout/segmented-text-layouts.md) — Arranges text and images into three segments with independent control over alignment, spacing, and margins. ([source](https://github.com/lygttpod/SuperTextView/blob/master/CommonTextView_Readme.md))
- [Network Image Loaders](https://awesome-repositories.com/f/graphics-multimedia/image-file-loading/network-image-loaders.md) — Fetches and renders remote image files from network URLs using external loading libraries. ([source](https://github.com/lygttpod/supertextview#readme))

### User Interface & Experience

- [Custom View Styling](https://awesome-repositories.com/f/user-interface-experience/android-component-styling/custom-view-styling.md) — Implements a programmatic styling system for defining borders, corner radii, and fill colors for the custom view.
- [Sub-Button Click Handling](https://awesome-repositories.com/f/user-interface-experience/buttons/sub-button-embeds/sub-button-click-handling.md) — Maps user interactions on distinct segments of a view to specific application actions. ([source](https://github.com/lygttpod/SuperTextView/blob/master/CommonTextView_Readme.md))
- [Region-Based Click Delegation](https://awesome-repositories.com/f/user-interface-experience/click-event-handling/region-based-click-delegation.md) — Calculates touch coordinates relative to child element bounds to trigger individual listeners for specific text regions.
- [Complex Text View Layouts](https://awesome-repositories.com/f/user-interface-experience/complex-text-view-layouts.md) — Renders complex text layouts with multi-region alignments, integrated icons, and checkboxes in a single view. ([source](https://github.com/lygttpod/supertextview#readme))
- [View Hierarchy Composition](https://awesome-repositories.com/f/user-interface-experience/composition-hierarchies/view-hierarchy-composition.md) — Reduces layout hierarchy depth by composing multiple text and image elements into a single view.
- [Interactive Text Regions](https://awesome-repositories.com/f/user-interface-experience/interactive-text-attachments/interactive-text-regions.md) — Supports independent click listeners for specific text regions and icons within a single composite layout.
- [Multi-Segment Layouts](https://awesome-repositories.com/f/user-interface-experience/multi-segment-layouts.md) — Divides the view area into three independent segments with separate alignment and margin controls for complex text arrangements.
- [Runtime Shape Generators](https://awesome-repositories.com/f/user-interface-experience/programmatic-element-construction/android-view-lifecycle-tracking/custom-view-rendering/custom-drawables/declarative-drawable-integration/runtime-shape-generators.md) — Creates shapes and borders programmatically using Paint and Canvas instead of relying on static XML drawable files.
- [Asynchronous Remote Image Fetching](https://awesome-repositories.com/f/user-interface-experience/asynchronous-remote-image-fetching.md) — Integrates third-party libraries to fetch remote assets and process them on background threads for UI display.
- [Shape Customization](https://awesome-repositories.com/f/user-interface-experience/buttons/shape-customization.md) — Configures corner radii, stroke colors, and fill colors to create custom view backgrounds and shapes. ([source](https://github.com/lygttpod/supertextview#readme))
- [Programmatic Button Styling](https://awesome-repositories.com/f/user-interface-experience/programmatic-button-styling.md) — Defines button borders, corner radii, and fill colors directly in code to avoid static XML files. ([source](https://github.com/lygttpod/SuperTextView/blob/master/SuperButton_Readme.md))
- [Programmatic View Styling](https://awesome-repositories.com/f/user-interface-experience/programmatic-ui-frameworks/programmatic-view-styling.md) — Allows defining borders, corner radii, and fill colors via code rather than relying on static XML drawable files.
- [Background Styling](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/content-styling/css-utility-libraries/visual-styling-utilities/background-positioning-utilities/background-styling.md) — Provides a configurable style object to apply corner radii and stroke colors directly to the view background.
- [Text Styling](https://awesome-repositories.com/f/user-interface-experience/text-styling.md) — Allows configuration of colors, sizes, and images for multiple text segments within the component. ([source](https://github.com/lygttpod/SuperTextView/blob/master/CommonTextView_Readme.md))

### Part of an Awesome List

- [Runtime Drawable Generators](https://awesome-repositories.com/f/awesome-lists/devtools/drawable-tools/runtime-drawable-generators.md) — Generates dynamic backgrounds and button shapes at runtime using configurable style objects.
- [Text Components](https://awesome-repositories.com/f/awesome-lists/devtools/text-components.md) — Feature-rich text view component.
