import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:ansu_ui/styles/as_colors.dart'; import 'package:ansu_ui/divider/as_divider.dart'; class ASPickerBox extends StatelessWidget { final VoidCallback? onPressed; final String confirmString; final String? title; final Widget child; const ASPickerBox( {Key? key, this.onPressed, this.confirmString = '完成', this.title, required this.child}) : super(key: key); _buildButton({ required String title, required VoidCallback? onPressed, }) { return SizedBox( height: 48.w, child: TextButton( onPressed: onPressed, child: Text(title), ), ); } @override Widget build(BuildContext context) { return Material( color: kForegroundColor, child: SizedBox( height: 260.w, child: Column( mainAxisSize: MainAxisSize.min, children: [ SizedBox( height: 48.w, child: NavigationToolbar( leading: _buildButton( title: '取消', onPressed: () => Navigator.pop(context), ), middle: Text( title ?? '', style: TextStyle( color: kTextColor, fontSize: 16.sp, ), ), trailing: _buildButton( title: confirmString, onPressed: onPressed, ), ), ), ASDivider(), Expanded(child: child), ], ), ), ); } }