waveui 1.0.0
waveui: ^1.0.0 copied to clipboard
An enterprise-class package of Flutter components for all devices.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:waveui/waveui.dart';
import 'package:waveui_example/sandbox.dart';
import 'package:wakelock_plus/wakelock_plus.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
WakelockPlus.enable();
runApp(const Application());
}
const List<Widget> _pages = [
Text('Home'),
Text('Categories'),
Text('Search'),
Text('Settings'),
Sandbox(),
];
class Application extends StatefulWidget {
const Application({super.key});
@override
State<Application> createState() => _ApplicationState();
}
class _ApplicationState extends State<Application> with SingleTickerProviderStateMixin {
int index = 4;
WaveRadioSelectGroupController<String> selectGroupController = WaveRadioSelectGroupController();
late WavePopoverController controller;
@override
void initState() {
super.initState();
controller = WavePopoverController(vsync: this);
}
@override
Widget build(BuildContext context) => MaterialApp(
localizationsDelegates: WaveLocalizations.localizationsDelegates,
supportedLocales: WaveLocalizations.supportedLocales,
builder: (context, child) {
SystemChrome.setSystemUIOverlayStyle(
const SystemUiOverlayStyle(
statusBarColor: Colors.white,
statusBarIconBrightness: Brightness.dark,
systemNavigationBarColor: Colors.white,
systemNavigationBarIconBrightness: Brightness.dark,
),
);
return WaveTheme(
data: WaveThemes.red.light,
child: child!,
);
},
debugShowCheckedModeBanner: false,
home: WaveScaffold(
header: WaveHeader(
title: const Text('Example'),
actions: [
WaveHeaderAction(
autofocus: true,
icon: const WaveIcon.data(FluentIcons.add_24_regular),
onPress: controller.toggle,
),
],
),
content: _pages[index],
footer: WaveBottomNavigationBar(
index: index,
onChange: (index) => setState(() => this.index = index),
children: const [
WaveBottomNavigationBarItem(
icon: WaveIcon.data(FluentIcons.home_24_regular),
label: Text('Home'),
),
WaveBottomNavigationBarItem(
icon: WaveIcon.data(FluentIcons.grid_24_regular),
label: Text('Categories'),
),
WaveBottomNavigationBarItem(
icon: WaveIcon.data(FluentIcons.search_24_regular),
label: Text('Search'),
),
WaveBottomNavigationBarItem(
icon: WaveIcon.data(FluentIcons.settings_24_regular),
label: Text('Settings'),
),
WaveBottomNavigationBarItem(
icon: WaveIcon.data(FluentIcons.box_24_regular),
label: Text('Sandbox'),
),
],
),
),
);
}