Skip to content

KRTirtho/platform_ui

Repository files navigation

Platform UI

by @KRTirtho

Flutter platform specific UI widgets

It mimics the native UI widgets (android, iOS, macOS, linux and windows) as much as possible in Flutter & has a wide collection of platform specific widgets. The names and APIs are similar to Flutter's Material UI widgets to make the Flutter developer feel at home. It's utilizes:

Feature Highlights

  • Simple and customizable platform specific UI widgets
  • Supports all major platforms (android, iOS, macOS, linux and windows)
  • Exposes the internal API to build widgets on top of it
  • Changeable default TargetPlatform for overriding platform design in another platform (it's crazy but cool)
  • Wide collection of platform specific widgets
  • Widget APIs are similar to Flutter's Material UI widgets
  • Dark Mode support

Install

Run following in a terminal:

$ flutter pub add platform_ui fluent_ui macos_ui libadwaita adwaita

Preview

https://krtirtho.github.io/platform_ui/

Usage

Import the package:

import 'package:platform_ui/platform_ui.dart';

Example

import 'package:flutter/material.dart'; import 'package:platform_ui/platform_ui.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return PlatformApp( title: 'Platform UI', home: MyHomePage(), ); } } class MyHomePage extends StatelessWidget { @override Widget build(BuildContext context) { return PlatformScaffold( appBar: PlatformAppBar( title: Text('Platform UI'), ), body: Center( child: PlatformText( 'Hello World', style: TextStyle(fontSize: 30), ), ), ); } }

Documentation

Screenshots

Desktop (Linux → Macos → Windows)

Desktop

Mobile (Android → iOS)

Mobile

Support

If you like this project, please consider supporting it by:

  • Starring and sharing the project
  • Following @KrTirtho on Twitter
  • Buying us a coffee ☕️

License

MIT