| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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<T extends BaseController> extends GetView<T> {
- const BasePage({super.key});
- @override
- Widget build(BuildContext context) {
- return AnnotatedRegion<SystemUiOverlayStyle>(
- 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;
- }
- }
|