# chadcsong/shinebutton

**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/chadcsong-shinebutton).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,195 stars · 540 forks · Kotlin · MIT

## Links

- GitHub: https://github.com/ChadCSong/ShineButton
- awesome-repositories: https://awesome-repositories.com/repository/chadcsong-shinebutton.md

## Topics

`button` `custom` `effects`

## Description

ShineButton is an Android UI animation library that provides customizable button components with integrated light-sweep and particle animations. It functions as a view component extension for Android interfaces to draw user attention through interactive visual effects.

The library features a system for creating light-sweep animations and vibrant particle effects that trigger during user interaction. It allows for the definition of button silhouettes through custom image masking and the application of vector drawables.

Visual styling is managed through configuration parameters that adjust the size, count, color, duration, and distance of shine particles.

## Tags

### Part of an Awesome List

- [Animated Effect Buttons](https://awesome-repositories.com/f/awesome-lists/devtools/android-ui-components/ripple-effect-buttons/animated-effect-buttons.md) — Provides buttons with advanced visual effects like flashing particles and shine animations for Android interfaces.
- [Like Buttons](https://awesome-repositories.com/f/awesome-lists/devtools/like-buttons.md) — 安卓闪光UI库

### Mobile Development

- [Android View Animation Libraries](https://awesome-repositories.com/f/mobile-development/android-view-animation-libraries.md) — Offers a specialized toolkit for adding flashing particle animations and visual effects to Android views.
- [Custom Android Views](https://awesome-repositories.com/f/mobile-development/custom-android-views.md) — Provides a custom Android View extension that utilizes masks and vector drawables to define button silhouettes.
- [View Class Inheritance](https://awesome-repositories.com/f/mobile-development/custom-view-development/view-class-inheritance.md) — Extends the native Android View class to encapsulate custom drawing logic and animation states for buttons.

### User Interface & Experience

- [Animation Configuration](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration.md) — Includes a configuration system to adjust the size, count, and duration of shine particles. ([source](https://github.com/chadcsong/shinebutton#readme))
- [Animation Loops](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/frame-execution-synchronization/animation-loops.md) — Uses a recurring animation cycle to update particle positions and opacity for continuous movement.
- [Silhouette Masking](https://awesome-repositories.com/f/user-interface-experience/button-styles/button-customizers/silhouette-masking.md) — Enables the use of custom image masks or vector drawables to define the button's physical silhouette. ([source](https://github.com/chadcsong/shinebutton#readme))
- [Interactive Component Styling](https://awesome-repositories.com/f/user-interface-experience/button-styles/interactive-component-styling.md) — Allows the creation of custom button shapes and tailored animation styles to match a specific brand identity.
- [Particle Canvas Renderers](https://awesome-repositories.com/f/user-interface-experience/canvas-based-ui-rendering/particle-canvas-renderers.md) — Implements a high-performance system for rendering individual light particles directly onto the Android UI canvas.
- [Vector Silhouette Masking](https://awesome-repositories.com/f/user-interface-experience/clipping-utilities/masking-utilities/vector-silhouette-masking.md) — Uses VectorDrawables and bitmap masks to constrain animation effects within a specific button silhouette.
- [State-Driven Animation Triggers](https://awesome-repositories.com/f/user-interface-experience/form-and-input-management/interaction-and-event-handling/general-interaction-frameworks/interaction-patterns/state-driven-animation-triggers.md) — Triggers specific animation sequences based on user interaction events such as touch or click listeners.
- [Visual Styling Properties](https://awesome-repositories.com/f/user-interface-experience/visual-styling-properties.md) — Provides public properties to configure visual characteristics like particle count, color, and duration.
