base_page.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import 'package:electronic_assistant/base/base_controller.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:flutter/services.dart';
  4. import 'package:get/get.dart';
  5. import '../resource/colors.gen.dart';
  6. abstract class BasePage<T extends BaseController> extends GetView<T> {
  7. const BasePage({super.key});
  8. @override
  9. Widget build(BuildContext context) {
  10. return AnnotatedRegion<SystemUiOverlayStyle>(
  11. value: SystemUiOverlayStyle.light.copyWith(
  12. statusBarColor: Colors.transparent, // 设置状态栏颜色为透明
  13. statusBarIconBrightness: _getStatusBarDarkFont(),
  14. ),
  15. child: GestureDetector(
  16. onTap: () {
  17. // controller.hideKeyboard(context);
  18. backgroundOnTapEvent();
  19. },
  20. child: Container(
  21. color: backgroundColor(),
  22. child: immersive()
  23. ? buildBody(context)
  24. : SafeArea(child: buildBody(context)),
  25. ),
  26. ),
  27. );
  28. }
  29. // 点击空白处
  30. void backgroundOnTapEvent() {}
  31. Brightness _getStatusBarDarkFont() {
  32. return statusBarDarkFont() ? Brightness.dark : Brightness.light;
  33. }
  34. bool statusBarDarkFont() {
  35. return true;
  36. }
  37. bool immersive() {
  38. return false;
  39. }
  40. Widget buildBody(BuildContext context);
  41. Color backgroundColor() {
  42. return ColorName.bgColorPrimary;
  43. }
  44. }