nb_utils 4.2.9
nb_utils: ^4.2.9 copied to clipboard
This package helps you daily usable function with ease. Just add nb_utils with its latest version and that's it you are ready to use.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:nb_utils/nb_utils.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
init();
}
Future<void> init() async {
await initialize();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'NB Utils Example',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: createMaterialColor(Colors.blue),
scaffoldBackgroundColor: scaffoldLightColor,
),
themeMode: ThemeMode.dark,
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
double rating = 2.2;
@override
void initState() {
super.initState();
}
Future<void> init() async {
//
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: appBarWidget('Home', showBack: Navigator.canPop(context)),
body: Container(
child: SingleChildScrollView(
child: Column(
children: <Widget>[
LanguageListWidget(
onLanguageChange: (data) {
log(data.name);
},
),
16.height,
HoverWidget(
builder: (_, isHovering) {
return AnimatedContainer(
height: 100,
width: 100,
decoration: boxDecorationDefault(
color: isHovering ? Colors.blue : Colors.white,
borderRadius: radius(isHovering ? 50 : null),
),
duration: 400.milliseconds,
);
},
),
Column(
children: [
Wrap(
spacing: 16,
runSpacing: 16,
children: [
AppButton(
text: "Confirmation",
onTap: () async {
showConfirmDialogCustom(
context,
onAccept: () {
//
},
);
},
),
AppButton(
text: "Confirmation with Custom Image",
onTap: () async {
showConfirmDialogCustom(
context,
title: "Do you want to logout from the app?",
dialogType: DialogType.CONFIRMATION,
centerImage:
'https://images.unsplash.com/photo-1579154392429-0e6b4e850ad2?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=397&q=80',
onAccept: () {
//
},
onCancel: () {
//
},
height: 300,
width: 400,
);
},
),
AppButton(
text: "Update",
onTap: () async {
showConfirmDialogCustom(
context,
title: "Do you want to update this item?",
dialogType: DialogType.UPDATE,
onAccept: () {
//
},
);
},
),
AppButton(
text: "Delete",
onTap: () async {
showConfirmDialogCustom(
context,
title: "Delete 89 files permanent?",
dialogType: DialogType.DELETE,
onAccept: () {
//
},
);
},
),
AppButton(
text: "Add",
onTap: () async {
showConfirmDialogCustom(
context,
title: "Do you want to add this item?",
dialogType: DialogType.ADD,
onAccept: () {
//
},
);
},
),
],
),
16.height,
Text('Rating Bar Widget Example', style: primaryTextStyle()),
8.height,
RatingBarWidget(
onRatingChanged: (e) {
rating = e;
},
),
16.height,
UL(
symbolType: SymbolType.Numbered,
children: [
Text('Hi', style: primaryTextStyle()),
Text('Hello', style: primaryTextStyle()),
Text('How are you?', style: primaryTextStyle()),
],
),
16.height,
AppTextField(
controller: TextEditingController(),
textFieldType: TextFieldType.EMAIL,
decoration: InputDecoration(
labelText: 'Email', border: OutlineInputBorder()),
),
AppTextField(
controller: TextEditingController(),
textFieldType: TextFieldType.ADDRESS,
decoration: InputDecoration(labelText: 'Address'),
minLines: 4,
),
AppTextField(
controller: TextEditingController(),
textFieldType: TextFieldType.PASSWORD,
decoration: InputDecoration(labelText: 'Password'),
),
],
).paddingAll(16),
16.height,
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
GoogleLogoWidget(),
16.width,
AppButton(
text: 'Save',
onTap: () async {
toast('Sample toast');
},
),
],
),
8.height,
SettingSection(
title:
Text('Account Management', style: boldTextStyle(size: 24)),
subTitle: Text('Control your account',
style: primaryTextStyle(size: 16)),
items: [
SettingItemWidget(
title: 'Hibernate account',
subTitle: 'Temporary deactivate your account',
decoration: BoxDecoration(borderRadius: radius()),
trailing: Icon(Icons.keyboard_arrow_right_rounded,
color: context.dividerColor),
onTap: () {
//HomePage().launch(context);
},
),
SettingItemWidget(
title: 'Close account',
subTitle:
'Learn about your options, and close your account if you wish',
decoration: BoxDecoration(borderRadius: radius()),
trailing: Icon(Icons.keyboard_arrow_right_rounded,
color: context.dividerColor),
onTap: () {
//HomePage().launch(context);
},
),
],
),
],
),
),
),
);
}
}