template_utils.dart 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import 'dart:ui';
  2. import 'package:electronic_assistant/utils/expand.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_screenutil/flutter_screenutil.dart';
  5. import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
  6. import 'package:get/get.dart';
  7. import '../resource/assets.gen.dart';
  8. import '../resource/colors.gen.dart';
  9. import '../resource/string.gen.dart';
  10. Widget createPopupDivider(
  11. {Color color = const Color(0xFFF6F6F6), double height = 1}) {
  12. return Divider(color: color, height: height);
  13. }
  14. Widget createNormalPopupItem(String title, {VoidCallback? onItemClick}) {
  15. return GestureDetector(
  16. onTap: onItemClick,
  17. child: Container(
  18. color: Colors.transparent,
  19. padding: EdgeInsets.symmetric(horizontal: _itemPadding),
  20. height: _itemHeight,
  21. child: Align(
  22. alignment: Alignment.centerLeft,
  23. child: Text(
  24. title,
  25. style: TextStyle(
  26. fontSize: 14.sp,
  27. color: ColorName.primaryTextColor,
  28. ),
  29. ),
  30. ),
  31. ),
  32. );
  33. }
  34. GestureDetector createDeletePopupItem(VoidCallback? onDelete) {
  35. return GestureDetector(
  36. onTap: () {
  37. onDelete?.call();
  38. },
  39. child: Container(
  40. color: Colors.transparent,
  41. padding: EdgeInsets.symmetric(horizontal: _itemPadding),
  42. height: _itemHeight,
  43. child: Row(
  44. crossAxisAlignment: CrossAxisAlignment.center,
  45. children: [
  46. Text(
  47. StringName.talkDelete.tr,
  48. style: TextStyle(color: '#F5574E'.toColor(), fontSize: 14.sp),
  49. ),
  50. const Spacer(),
  51. SizedBox(
  52. width: 20.w,
  53. height: 20.w,
  54. child: Assets.images.iconTalkDelete.image())
  55. ],
  56. ),
  57. ),
  58. );
  59. }
  60. final _itemHeight = 52.h;
  61. final _itemPadding = 14.w;