flutter_liquid_glass 1.0.0+1 copy "flutter_liquid_glass: ^1.0.0+1" to clipboard
flutter_liquid_glass: ^1.0.0+1 copied to clipboard

A comprehensive Flutter package that brings Apple's Liquid Glass design language to Flutter apps with extensive customization options.

Liquid Glass UI #

A comprehensive Flutter package that brings Apple's Liquid Glass design language to Flutter applications with extensive customization options.

Features #

  • 🎨 Beautiful Glass Morphism: Authentic liquid glass effect with blur, refraction, and specular highlights
  • ⚑ Performance Optimized: Efficient rendering with customizable quality settings
  • 🎯 Easy to Use: Simple API with sensible defaults
  • πŸ› οΈ Highly Customizable: Extensive configuration options for every aspect
  • πŸ“± Platform Adaptive: Automatically adapts to light/dark themes
  • 🎭 Interactive Effects: Hover, press, and parallax animations
  • 🧩 Pre-built Components: Ready-to-use buttons, containers, cards, and navigation bars

Installation #

Add liquid_glass_ui to your pubspec.yaml:

dependencies:
  liquid_glass_ui: ^1.0.0

Quick Start #

Simple Usage #

import 'package:liquid_glass_ui/liquid_glass_ui.dart';

// Basic container
LiquidGlassContainer(
  child: Text('Hello Liquid Glass!'),
)

// Simple button
LiquidGlassButton(
  text: 'Click Me',
  onPressed: () {},
)

Using Presets #

// Dark mode preset
LiquidGlassContainer(
  config: LiquidGlassConfig.dark(),
  child: Text('Dark Glass'),
)

// Vibrant preset
LiquidGlassButton(
  text: 'Vibrant',
  config: LiquidGlassConfig.vibrant(),
  onPressed: () {},
)

// Frosted glass preset
LiquidGlassCard(
  config: LiquidGlassConfig.frosted(),
  child: Text('Frosted Card'),
)

Advanced Customization #

Custom Configuration #

LiquidGlassContainer(
  config: LiquidGlassConfig(
    // Basic appearance
    baseColor: Colors.purple,
    opacity: 0.15,
    blurAmount: 25,
    borderRadius: BorderRadius.circular(30),
    
    // Effects
    enableSpecularHighlight: true,
    refractionIntensity: 0.8,
    enableParallax: true,
    parallaxIntensity: 0.1,
    
    // Advanced effects
    enableChromaticAberration: true,
    distortionAmount: 0.05,
    frostIntensity: 0.3,
    
    // Animations
    animationDuration: Duration(milliseconds: 300),
    animationCurve: Curves.easeInOutCubic,
    
    // Styling
    gradient: LinearGradient(
      colors: [Colors.purple.withOpacity(0.1), Colors.blue.withOpacity(0.1)],
    ),
    shadows: [
      BoxShadow(
        color: Colors.purple.withOpacity(0.2),
        blurRadius: 20,
        offset: Offset(0, 10),
      ),
    ],
  ),
  child: YourContent(),
)

Available Widgets #

LiquidGlassContainer #

A versatile container with liquid glass effect.

LiquidGlassContainer(
  width: 200,
  height: 100,
  padding: EdgeInsets.all(20),
  config: LiquidGlassConfig.simple(),
  onTap: () {},
  child: Text('Container'),
)

LiquidGlassButton #

A button with various styles and states.

// Text button
LiquidGlassButton(
  text: 'Submit',
  onPressed: () {},
  isLoading: false,
  isDisabled: false,
)

// Icon button
LiquidGlassButton.icon(
  icon: Icons.favorite,
  onPressed: () {},
  size: LiquidGlassButtonSize.large,
)

// Button with icon and text
LiquidGlassButton(
  text: 'Save',
  icon: Icons.save,
  onPressed: () {},
)

LiquidGlassCard #

A card component with elevation effect.

LiquidGlassCard(
  elevation: 4.0,
  margin: EdgeInsets.all(10),
  child: ListTile(
    title: Text('Card Title'),
    subtitle: Text('Card subtitle'),
  ),
)

LiquidGlassNavigationBar #

A bottom navigation bar with glass effect.

LiquidGlassNavigationBar(
  selectedIndex: 0,
  onItemSelected: (index) {},
  items: [
    LiquidGlassNavigationItem(icon: Icons.home, label: 'Home'),
    LiquidGlassNavigationItem(icon: Icons.search, label: 'Search'),
    LiquidGlassNavigationItem(icon: Icons.person, label: 'Profile'),
  ],
)

Configuration Options #

Property Type Default Description
baseColor Color? null Base color of the glass
opacity double 0.1 Transparency level (0.0 - 1.0)
blurAmount double 10.0 Background blur intensity
borderRadius BorderRadius 20 Corner radius
enableSpecularHighlight bool true Enable light reflections
refractionIntensity double 0.5 Light bending effect
adaptToContent bool true Adapt color to content
enableParallax bool true Enable parallax on hover
frostIntensity double 0.0 Frosted glass effect
enableChromaticAberration bool false Color separation effect

Best Practices #

  1. Performance: For better performance on lower-end devices, reduce blurAmount and disable enableCustomShader.

  2. Accessibility: Ensure sufficient contrast between content and background when using liquid glass effects.

  3. Theme Integration: Use config.adaptToContent to automatically adapt to your app's theme.

Example App #

Check out the example directory for a complete demo app showcasing all features.

Contributing #

Contributions are welcome! Please read our contributing guidelines before submitting pull requests.

License #

This project is licensed under the MIT License - see the LICENSE file for details.

1
likes
150
points
5
downloads

Publisher

verified publishercanarslan.me

Weekly Downloads

A comprehensive Flutter package that brings Apple's Liquid Glass design language to Flutter apps with extensive customization options.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on flutter_liquid_glass