import 'dart:ui'; import 'package:electronic_assistant/base/base_controller.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; import '../resource/colors.gen.dart'; abstract class BasePage extends GetView { const BasePage({super.key}); @override Widget build(BuildContext context) { return AnnotatedRegion( value: SystemUiOverlayStyle.light.copyWith( statusBarColor: Colors.transparent, // 设置状态栏颜色为透明 statusBarBrightness: _getStatusBarDarkFont(), statusBarIconBrightness: _getStatusIconBarDarkFont(), systemNavigationBarColor: navigationBarColor(), systemNavigationBarIconBrightness: _getNavigationBarDarkFont(), ), child: GestureDetector( onTap: () { // controller.hideKeyboard(context); backgroundOnTapEvent(); }, child: Container( height: pageHeight(), color: backgroundColor(), child: immersive() ? buildBody(context) : SafeArea(child: buildBody(context)), ), ), ); } // 点击空白处 void backgroundOnTapEvent() {} Brightness _getStatusBarDarkFont() { return statusBarDarkFont() ? Brightness.light : Brightness.dark; } Brightness _getStatusIconBarDarkFont() { return statusBarDarkFont() ? Brightness.dark : Brightness.light; } Brightness _getNavigationBarDarkFont() { return statusBarDarkFont() ? Brightness.dark : Brightness.light; } bool statusBarDarkFont() { return true; } bool navigationBarDarkFont() { return true; } bool immersive() { return false; } double? pageHeight() { return null; } Widget buildBody(BuildContext context); Color backgroundColor() { return ColorName.bgColorPrimary; } Color navigationBarColor() { return ColorName.bgColorPrimary; } }