semi_design 0.2.9
semi_design: ^0.2.9 copied to clipboard
Semi design library of Flutter, for use in mobile projects
example/lib/main.dart
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:semi_design/semi_design.dart';
final botToastBuilder = BotToastInit();
void main() async {
await SetupService.initStorageService();
// 加载环境变量
await SetupService.initServices();
// 初始化全局仓库
Get.put<GlobalStore>(GlobalStore()).init(
config: GlobalConfigModel(buttonSize: CustomButtonSize.large, openInputCarmerScanner: true),
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: AppTheme.light(),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
navigatorObservers: [BotToastNavigatorObserver()],
builder: (context, child) {
child = botToastBuilder(context, child);
return child;
},
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
TextEditingController controller = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ListTile(
title: Text('test'),
subtitle: Text('test'),
onTap: () {},
),
CustomListTile(
titleText: 'test',
subtitle: Text('test'),
onTap: () {},
),
CustomListTile(
titleText: '1',
subtitleText: '2',
onTap: () {},
),
CustomListTileFixedWidth(
titleText: '3',
subtitle: Text('4'),
onTap: () {},
),
CustomListTileFixedWidth(
titleText: '5',
subtitleText: ('5'),
onTap: () {},
),
],
),
);
}
}