drag_sheet.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import 'package:flutter/material.dart';
  2. class CustomDraggingHandle extends StatelessWidget {
  3. const CustomDraggingHandle({super.key});
  4. @override
  5. Widget build(BuildContext context) {
  6. return Container(
  7. height: 5,
  8. width: 30,
  9. decoration: BoxDecoration(
  10. color: Theme.of(context).dividerColor,
  11. borderRadius: BorderRadius.circular(16),
  12. ),
  13. );
  14. }
  15. }
  16. class ControlBoxButton extends StatelessWidget {
  17. const ControlBoxButton({
  18. Key? key,
  19. required this.label,
  20. required this.iconData,
  21. this.onPressed,
  22. }) : super(key: key);
  23. final String label;
  24. final IconData iconData;
  25. final void Function()? onPressed;
  26. @override
  27. Widget build(BuildContext context) {
  28. return MaterialButton(
  29. padding: const EdgeInsets.all(10),
  30. shape: const CircleBorder(),
  31. onPressed: onPressed,
  32. child: Column(
  33. mainAxisAlignment: MainAxisAlignment.start,
  34. crossAxisAlignment: CrossAxisAlignment.center,
  35. children: [
  36. Icon(iconData, size: 24),
  37. const SizedBox(height: 6),
  38. Text(
  39. label,
  40. style: const TextStyle(fontSize: 12.0),
  41. ),
  42. ],
  43. ),
  44. );
  45. }
  46. }