Search packages, repositories and app categories

Package detailsv1.1.2

enough_platform_widgets

Useful platform aware widgets to develop a Flutter app with either Cupertino and Material design.

30-day downloads
3.7K
Likes
41
Pub points
40

Install package

flutter pub add enough_platform_widgets

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

Enough Platform Widgets provides a collection of platform-aware widgets that seamlessly adapt between Cupertino (iOS) and Material (Android) design systems in Flutter. These widgets ensure consistent, native-like UI experiences across platforms without requiring manual conditionals. The package simplifies cross-platform development by offering unified components that automatically render according to the target platform's design language. It is ideal for developers aiming to maintain visual harmony while reducing boilerplate code.

Use cases

  • Cross-platform app development
  • Creating native-like iOS and Android interfaces
  • Reducing conditional widget logic
  • Maintaining consistent UX across platforms
  • Simplifying theme adaptation

Key features

  • Automatic platform detection
  • Cupertino and Material widget variants
  • Minimal boilerplate
  • Consistent styling across platforms
  • Easy integration with existing Flutter apps

Suitable for

  • Flutter developers targeting both iOS and Android
  • Apps requiring native design consistency
  • Teams prioritizing code simplicity
  • Projects with tight UI/UX deadlines
  • Developers avoiding manual platform checks

Considerations

  • Limited to iOS and Android platforms
  • Depends on Flutter's platform awareness
  • May require additional styling customization
  • Not suitable for web or desktop apps
  • Best used in apps with mixed platform design needs

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

enough_platform_widgets

enough_platform_widgets version

More cross platform widgets for Flutter developers.

Based on these great packages:

Licensed commercially friendly under the MIT License.

Installation

Add this as a dependency to your pubspec.yaml:

dependencies:
  enough_platform_widgets: ^1.0.0

Flutter Versions

  • Use 1.0 or higher for Flutter 3.16+
  • Use 0.7.4 for previous Flutter versions

Platform Widgets and Methods

Platform widgets use their material or cupertino equivalent based on the chosen platform.

  • DecoratedPlatformTextField provides a cross platform replacement for the material TextField
  • DensePlatformIconButton replaces the material IconButton
  • DialogHelper helps to show platform specific dialogs
  • PlatformBottomBar shows a BottomAppBar on material and a CupertinoBar on cupertino
  • PlatformCheckboxListTile is a platform aware simple checkbox list tile
  • PlatformChip a simple cross-platform Chip replacement
  • PlatformDialogActionButton is a platform aware dialog action
  • PlatformDialogActionText provides a platform aware dialog action text
  • PlatformDropdownButton is a replacement for the material DropdownButton
  • PlatformFilledButtonIcon uses an ElevatedButton.filled on material and a CupertinoButton.filled on cupertino
  • PlatformInkWell is a rectangular area of a that responds to touch and is based either on InkWell or on CupertinoInkWell
  • PlatformPageScaffold provides a PlatformScaffold with the additional option to define a bottom bar.
  • PlatformPopupButton uses an action sheet on cupertino and a popup button on material.
  • PlatformProgressIndicator uses a CircularProgressIndicator on material and a CupertinoActivityIndicator on cupertino
  • PlatformRadioListTile provides a RadioListTile implementation for both material and cupertino
  • PlatformSliverAppBar uses a SliverAppBar on material or a CupertinoSliverNavigationBar on cupertino
  • PlatformSnackApp is a base app that allows to show SnackBars on cupertino as well
  • PlatformStepper abstracts the Stepper material widget
  • PlatformTextButtonIcon is a simple replacement for TextButton.icon
  • PlatformToggleButtons provides a platform aware ToggleButtons replacement
  • PlatformToolbar provides a toolbar option
  • SelectablePlatformListTile provides a ListTile implementation for both material and cupertino
  • showPlatformTimePicker() displays a platform aware time picker
  • showPlatformDatePicker() displays a platform aware date picker
  • Additionally, all flutter_platform_widgets are available.

Cupertino Widgets

Currently the following cupertino widgets are provided:

  • CupertinoBar is a simple cupertino bar that either blurs the background or provides a translucent background
  • CupertinoCheckboxListTile provides a simple cupertino style checkbox list tile
  • CupertinoChip is a cupertino version of the material Chip widget
  • CupertinoDropdownButton maps the basic dropdown feature to a CupertinoPicker
  • CupertinoInkWell is a rectangular area of a that responds to touch
  • CupertinoMultipleSegmentedControl is like the CupertinoSegmentedControl but it allows to select several segments at once
  • CupertinoPageScaffoldWithToolbar provides a scaffold with the option to define a toolbar widget
  • CupertinoPageWithBar is a simple page with a bar that can be aligned top/bottom/left/right
  • CupertinoRadioListTile provides a simple cupertino style radio list tile
  • CupertinoSearchFlowTextField displays a CupertinoSearchTextField with the expected UX flow that switches to a full-screen experience once editing starts
  • CupertinoSnackApp is a CupertinoApp that also allows to display snack bar messages
  • CupertinoToolbar a simple wrapper for a cupertino toolbar widget

API Documentation

Check out the full API documentation at https://pub.dev/documentation/enough_platform_widgets/latest/

Thanks to all Contributors!!

Made with contrib.rocks.

Categories

Dependencies

Dependency list 3 items

Source repository

Projects using this package