adaptive_ui_kit 0.0.9 copy "adaptive_ui_kit: ^0.0.9" to clipboard
adaptive_ui_kit: ^0.0.9 copied to clipboard

Platform-adaptive Flutter UI kit with automatic Glass (iOS/macOS) and Material (Android) design — adaptive dialogs, pickers, and more.

Adaptive UI Kit #

pub package Platform License

A powerful Flutter package for building beautiful **platform-adaptive user interfaces** with a single API.


✨ Overview #

Adaptive UI Kit automatically renders the correct UI for each platform.

Platform Design
iOS Apple-inspired Glass UI
macOS Apple-inspired Glass UI
Android Material 3
Web Material
Windows Material
Linux Material

No platform checks. No duplicate widgets.


🎬 Demo #


Features #

  • Automatic platform adaptation
  • Adaptive Dialog
  • Adaptive Action Sheet
  • Adaptive Date Picker
  • Adaptive Time Picker
  • Adaptive Multi Select
  • Adaptive Navigation Bar
  • Global theme configuration
  • Force UI Kit support
  • Custom resolver support

Integration Guide #

To integrate Adaptive UI Kit into your Flutter project:

  1. Add the package to pubspec.yaml:
dependencies:
  adaptive_ui_kit: ^0.0.9
  1. Import the package:
import 'package:adaptive_ui_kit/adaptive_ui_kit.dart';
  1. Optionally configure global theming before runApp:
AdaptiveUiKitConfig.glass = AdaptiveUiKitConfig.glass.copyWith(
  tintColor: Colors.indigo,
  destructiveColor: Colors.red,
);

AdaptiveUiKitConfig.forceUiKit = AdaptiveUiKit.glass;
  1. Replace or add UI calls using the adaptive API. Examples:
await AdaptiveDialog.showConfirm(
  context: context,
  // either pass plain text:
  title: 'Confirm',
  message: 'Proceed?'
  // or pass widgets instead:
  titleWidget: Row(children: [Icon(Icons.info), Text('Confirm')]),
);

await AdaptiveActionSheet.show(
  context: context,
  titleWidget: Text('Options'),
  items: [ActionSheetItem(label: 'Edit', icon: Icons.edit, onTap: () {})],
);

final selected = await AdaptiveMultiSelect.show(
  context: context,
  titleWidget: Text('Choose'),
  options: [MultiSelectOption(id: '1', label: 'One', child: Text('One'))],
);

// Adaptive bottom navigation bar example
Widget build(BuildContext context) {
  return Scaffold(
    bottomNavigationBar: AdaptiveNavigationBar(
      currentIndex: currentIndex,
      onTap: (index) => setState(() => currentIndex = index),
      items: const [
        AdaptiveNavItem(icon: Icons.home_outlined, activeIcon: Icons.home, label: 'Home'),
        AdaptiveNavItem(icon: Icons.search_outlined, activeIcon: Icons.search, label: 'Search'),
        AdaptiveNavItem(icon: Icons.person_outline, activeIcon: Icons.person, label: 'Profile'),
      ],
    ),
    body: _pages[currentIndex],
  );
}

Notes:

  • For Material date/time pickers you can pass helpText, cancelText, confirmText, and a builder for custom theme wrapping.
  • Widgets take precedence: if titleWidget/messageWidget/child are provided they'll be used instead of string fallbacks.

Components #

Component Description
AdaptiveDialog Platform adaptive dialog
AdaptiveActionSheet Adaptive action sheet
AdaptiveDateTimePicker Adaptive date picker
AdaptiveTimePicker Adaptive time picker
AdaptiveMultiSelect Adaptive multi select
AdaptiveNavigationBar Platform adaptive bottom navigation bar

Architecture #

Adaptive Widgets
        │
        ▼
 Platform Resolver
        │
 ┌───────────────┐
 │               │
 ▼               ▼
Glass UI   Material UI
        │
        ▼
 Shared Themes

📸 Screenshots #

Overview #

Adaptive Dialog #

iOS (Glass) Android (Material)

Date Picker #

| | |

Time Picker #

| | |


Example #

cd example
flutter run

Roadmap #

  • Adaptive Snackbar
  • Adaptive Toast
  • Adaptive Dropdown
  • Adaptive Navigation Components
  • Adaptive Form Controls
  • Adaptive Search Bar

Why Adaptive UI Kit? #

Instead of maintaining separate widgets for every platform, write your UI once and let Adaptive UI Kit deliver the native experience automatically.


Contributing #

Contributions, bug reports and feature requests are always welcome.


License #

MIT License


Made with ❤️ using Flutter.

1
likes
160
points
517
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Platform-adaptive Flutter UI kit with automatic Glass (iOS/macOS) and Material (Android) design — adaptive dialogs, pickers, and more.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

cupertino_icons, flutter

More

Packages that depend on adaptive_ui_kit