skeuomorphic_ui 1.0.1 copy "skeuomorphic_ui: ^1.0.1" to clipboard
skeuomorphic_ui: ^1.0.1 copied to clipboard

A production-ready Flutter UI library bringing back the tactile, hyper-realistic iOS 6 / early macOS skeuomorphic design language. Features rich textures, depth, shadows, reflections, and material sur [...]

Skeuomorphic UI for Flutter #

A production-ready Flutter package bringing back the rich, tactile, hyper-realistic design language of the iOS 6 and early macOS era.

Every widget feels physical. We use textures, depth, shadows, reflections, material surfaces, and spring-physics animations to mimic real-world objects.

Pub Version License: MIT

Features #

  • 🎨 22+ Hyper-Realistic Components: Buttons, cards, sliders, knobs, switches, and more.
  • 🧱 Material Variants: Metal, Leather, Wood, Glass, Rubber, Corkboard, and Resin surfaces.
  • 💡 Dynamic Lighting: Convex/concave gloss gradients and directional bevels.
  • 🕳️ Physical Depth: Multi-layered shadow arrays for raised, pressed, floating, and inset states.
  • ⚙️ Procedural Noise: Built-in grain textures via CustomPainter (no external asset dependencies).
  • 🔩 Physical Details: Decorative screws, stitching, engraved/embossed typography.
  • 🚀 Zero Dependencies: Built entirely with Flutter native primitives (CustomPainter, ShaderMask, BoxDecoration).

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  skeuomorphic_ui: ^1.0.0

Quick Start #

Wrap your app or screen in a SkeuTheme:

import 'package:flutter/material.dart';
import 'package:skeuomorphic_ui/skeuomorphic_ui.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return SkeuTheme(
      data: SkeuThemeData.light(),
      child: const MaterialApp(
        home: HomeScreen(),
      ),
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: SkeuColors.linen,
      appBar: SkeuAppBar(title: 'My App'),
      body: Center(
        child: SkeuButton(
          onPressed: () => print('Pressed!'),
          variant: SkeuButtonVariant.metal,
          child: const Text('Metal Button'),
        ),
      ),
    );
  }
}

Material Variants #

Most containers and buttons support multiple physical materials:

SkeuCard(
  variant: SkeuCardVariant.leather, // wood, metal, paper, corkboard, glass
  child: const Text('Leather Panel with Stitching'),
)

Component Overview #

  • Buttons: SkeuButton, SkeuIconButton, SkeuToggleButton
  • Controls: SkeuSlider, SkeuKnob, SkeuSwitch, SkeuCheckbox, SkeuRadioButton, SkeuStepperInput
  • Inputs: SkeuTextField, SkeuSearchBar
  • Navigation: SkeuAppBar, SkeuNavigationBar, SkeuTabBar
  • Display: SkeuGauge, SkeuProgressBar, SkeuBadge, SkeuTooltip, SkeuListTile, SkeuDivider
  • Surfaces: SkeuCard, showSkeuDialog(), showSkeuBottomSheet()

Typography #

The library includes physical typography extensions. Instead of flat text, you can apply engraved (recessed) or embossed (raised) effects:

Text(
  'Engraved Text',
  style: SkeuTextStyles.engraved(16),
)

Example App #

The package includes a comprehensive example app with four demo screens:

  1. Widget Gallery: A kitchen-sink view of all components on a corkboard.
  2. Audio Mixer: A studio mixer layout using sliders, knobs, and switches on dark rubber and gunmetal.
  3. Notes: A skeuomorphic notepad using paper cards and text fields.
  4. Settings: A realistic configuration screen on walnut wood.

Run the example:

cd example
flutter run

Performance Note #

Procedural noise textures (used in materials like metal and rubber) are beautiful but can be slightly heavy on rasterization. The library automatically wraps textured surfaces in RepaintBoundary to minimize rebuild costs. If you need maximum performance on low-end devices, you can disable textures globally:

SkeuThemeData.light(enableTextures: false)
0
likes
140
points
9
downloads

Documentation

API reference

Publisher

verified publisherpiyushbhardwaj.qzz.io

Weekly Downloads

A production-ready Flutter UI library bringing back the tactile, hyper-realistic iOS 6 / early macOS skeuomorphic design language. Features rich textures, depth, shadows, reflections, and material surfaces that mimic real-world objects.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on skeuomorphic_ui