Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Advanced Activity Indicator

Siticone Activity Indicator Adv

The SiticoneActivityIndicatorAdv is the premium, feature-rich version of the standard activity indicator. It introduces advanced gradient rendering, over 20 stunning visual themes (like "Cosmic Fusion" and "Aurora Borealis"), multiple animation styles (Continuous/Pulsing), and granular control over animation physics. Designed for high-end applications, it maintains smooth 60fps performance through optimized GDI+ rendering.

Core Animation & State

Fundamental properties for controlling the indicator's behavior.

Property Type Description & Usage Example
StartAnimation bool loader.StartAnimation = true; Controls the running state. Setting to true starts the physics loop; false pauses it instantly.
AnimationStyle AnimationStyleAdv loader.AnimationStyle = AnimationStyleAdv.Pulsing; Selects the motion pattern: Continuous (smooth rotation) or Pulsing (expand/contract breathing effect).
UltraPerformance bool loader.UltraPerformance = true; Enables a high-speed rendering mode that simplifies gradients for maximum FPS on low-power devices.

Gradient & Visuals

Properties for crafting beautiful, multi-colored gradient strokes.

Property Type Description & Usage Example
Theme ActivityIndicatorThemeAdv loader.Theme = ActivityIndicatorThemeAdv.AuroraBorealis; Applies one of 20+ preset visual styles, instantly configuring gradients and animation physics.
UseGradient bool loader.UseGradient = true; Toggles gradient rendering. If false, uses a solid color derived from the first item in the color list.
GradientColors List<Color> loader.GradientColors.Add(Color.Gold); The collection of colors used to build the gradient arc. The indicator smoothly interpolates between these colors.
StrokeWidth int loader.StrokeWidth = 8; The thickness of the gradient arc in pixels.

Advanced Physics

Fine-tune the mathematical model driving the animation for a unique "feel".

Property Type Description & Usage Example
AnimationSpeed int loader.AnimationSpeed = 10; Timer interval in ms. Lower values = smoother, faster updates.
RotationSpeed double loader.RotationSpeed = 5.0; Degrees of rotation per frame. Controls the overall spin velocity.
SpringConstant double loader.SpringConstant = 0.05; Controls the elasticity of the expanding arc. Higher values feel snappier; lower values feel heavier.
MaxSweepAngle int loader.MaxSweepAngle = 300; Maximum arc length in degrees during the expansion phase.

Methods

Programmatic control for integrating the indicator into complex workflows.

Control Methods
// Begins the animation loop
loader.Start();

// Halts the animation at the current frame
loader.Stop();

// Stops animation and resets all angles/colors to initial state
loader.Reset();

Events

Hooks for synchronization and state monitoring.

Event Wiring
// 1. StateChanged
// Fires when Start/Stop/Reset is called.
loader.StateChanged += (s, e) => 
{
                Console.WriteLine($"Animation is now {(e.IsActive ? "Active" : "Idle")}");
};

// 2. CycleCompleted
// Fires when the arc finishes a full expand/contract sequence.
loader.CycleCompleted += (s, e) => 
{
                Debug.WriteLine($"Completed Cycle #{e.CycleCount} in {e.ElapsedTime.TotalSeconds}s");
};

// 3. ProgressUpdated
// Fires every frame. Use sparingly for syncing other UI elements.
loader.ProgressUpdated += (s, e) => 
{
                // Sync a label opacity to the expansion phase
    lblStatus.Text = e.IsExpanding ? "Expanding..." : "Contracting...";
};

Visual Themes

The control ships with 20 premium themes.

Theme Description
CosmicFusion Vibrant Pink, Purple, and Deep Blue gradient.
AuroraBorealis Neon Green, Cyan, and Purple mix.
TropicalSunset Warm Yellow, Orange, and Magenta tones.
Cyberpunk High-contrast Yellow, Cyan, and Magenta.
EmeraldWater Soothing Green, Teal, and Blue blend.
RubyGold Luxurious Gold, Red, and Maroon.

Designer Support

Extensive Smart Tag support allows for rapid prototyping without writing code.

Feature Category Capabilities
Theme Shortcuts Instantly apply any of the 20+ preset themes directly from the designer menu.
Animation Tuning Sliders/Inputs for Speed, Rotation, and Spring Constant to tweak the feel instantly.
Actions Start/Stop/Reset: Preview the animation live in the Visual Studio designer view.

Detailed Usage Examples

Example 1: Brand-Specific Gradient

Manually configuring a custom gradient to match brand colors.

C# - Custom Gradient
private void SetupBrandLoader()
{
    loader.Theme = ActivityIndicatorThemeAdv.Custom;
    loader.UseGradient = true;
    
                // Clear defaults and add brand colors
    loader.GradientColors.Clear();
    loader.GradientColors.Add(Color.FromArgb(255, 90, 0));   // Brand Orange
    loader.GradientColors.Add(Color.FromArgb(255, 180, 0));  // Brand Yellow
    
                // Adjust physics for a "heavy" feel
    loader.StrokeWidth = 10;
    loader.AnimationSpeed = 15; // Slower ticks
    loader.SpringConstant = 0.02; // Less bouncy
    
    loader.Start();
}

Example 2: Async Data Loading

Integrating the loader with an async/await workflow.

C# - Async Integration
private async void BtnLogin_Click(object sender, EventArgs e)
{
                // Show loader
    loader.Visible = true;
    loader.Start();
    btnLogin.Enabled = false;

                try
    {
                // Simulate network request
                await Task.Delay(3000);
                // await _authService.LoginAsync(...);
    }
                finally
    {
                // Hide loader
        loader.Stop();
        loader.Visible = false;
        btnLogin.Enabled = true;
    }
}