import 'package:cs_resources/generated/assets.dart'; import 'package:cs_resources/generated/l10n.dart'; import 'package:cs_resources/theme/app_colors_theme.dart'; import 'package:flutter/material.dart'; import 'package:widgets/ext/ex_widget.dart'; import 'package:widgets/my_load_image.dart'; import 'package:widgets/my_text_view.dart'; import 'package:widgets/widget_export.dart'; class AccountDeactivationDialog extends StatelessWidget { VoidCallback confirmAction; AccountDeactivationDialog({ required this.confirmAction, }); Widget CheckboxList(BuildContext context) { final List items = ['苹果', '香蕉', '橙子']; final List selections = [false, false, false]; return Expanded(child:ListView.builder( itemCount: items.length, itemBuilder: (context, index) { return Container( padding: EdgeInsets.symmetric(vertical: 5.0), child: CheckboxListTile( value: selections[index], onChanged: (bool? val) { selections[index] = val!; }, title: Text(items[index]), ), ); }, ) ); } @override Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ Container( width: double.infinity, height: 55, decoration: BoxDecoration( color: context.appColors.btnBgDefault, borderRadius: const BorderRadius.only( topRight: Radius.circular(15), topLeft: Radius.circular(15), ), ), child: Row( children: [ const SizedBox(width: 45), MyTextView( 'Choose a Category', fontSize: 18, textAlign: TextAlign.center, isFontMedium: true, textColor: Colors.white, ).expanded(), const MyAssetImage( Assets.baseServiceDialogDeleteIcon, width: 25, height: 25.5, ).onTap(() { onCancel(); }, padding: 10) ], ), ), Container( width: double.infinity, padding: const EdgeInsets.only(top: 22), decoration: BoxDecoration( color: context.appColors.whiteSecondBG, borderRadius: const BorderRadius.only( bottomLeft: Radius.circular(15), bottomRight: Radius.circular(15), ), ), child: Column( children: [ CheckboxList(context), Row( children: [ const SizedBox(width: 18), Expanded( flex: 1, child: InkWell( onTap: () async { onCancel(); confirmAction(); }, child: MyTextView( 'Ok', fontSize: 16, paddingTop: 13, paddingBottom: 13, isFontMedium: true, textAlign: TextAlign.center, textColor: Colors.white, backgroundColor: context.appColors.btnBgDefault, cornerRadius: 7, ), )), const SizedBox(width: 18), ], ).marginOnly(bottom: 30, top: 28), ], ), ), ], ).constrained(width: 340); } //取消弹框 void onCancel() async { SmartDialog.dismiss(); } }