Commit f3bff3c7 authored by tongzifang's avatar tongzifang

common

parent 3e244491
import 'dart:ui';
class CommonColor {
static Color get color33 => const Color(0xFF333333);
}
import 'dart:io';
import 'package:base_data_channel/config/common_colors.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_boost/flutter_boost.dart';
class PageUtils {
static navigator(BuildContext context,
{String title = '',
Color appColor = Colors.white,
Widget? backIcon,
bool isDark = true,
PreferredSizeWidget? bottom,
List<Widget>? actions}) {
return AppBar(
backgroundColor: appColor,
leading: GestureDetector(
child: backIcon != null ? backIcon : new Icon(Icons.arrow_back_ios),
onTap: () {
if (Platform.isIOS) {
BoostNavigator.instance.pop();
//BoostChannel.instance.sendEventToNative("exit",{ });
} else {
BoostNavigator.instance.pop();
//BoostNavigator.instance.popUntil(route: "login_device_manage");
// onBackPressed(context);
}
},
),
bottom: bottom,
iconTheme: IconThemeData(color: isDark ? CommonColor.color33 : Colors.white),
elevation: 0,
brightness: isDark ? Brightness.light : Brightness.dark,
centerTitle: true,
actions: actions,
title: Text(
title,
style: TextStyle(
color: isDark ? CommonColor.color33 : Colors.white,
fontSize: 18,
fontWeight: FontWeight.w700),
),
);
}
static statusBar() {
//黑色沉浸式状态栏,基于SystemUiOverlayStyle.dark修改了statusBarColor
SystemUiOverlayStyle uiOverlayStyle = SystemUiOverlayStyle(
systemNavigationBarColor: Color(0xFF333333),
systemNavigationBarDividerColor: null,
statusBarColor: Colors.transparent,
systemNavigationBarIconBrightness: Brightness.light,
statusBarIconBrightness: Brightness.dark,
statusBarBrightness: Brightness.light,
);
SystemUiOverlayStyle systemUiOverlayStyle = SystemUiOverlayStyle(
statusBarColor: Colors.transparent, //全局设置透明
statusBarIconBrightness: Brightness.light
//light:黑色图标 dark:白色图标
//在此处设置statusBarIconBrightness为全局设置
);
SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
}
static pop(BuildContext context, {String? result}) =>
Navigator.pop(context, result);
static popAndNoFocus(BuildContext context, {String? result}) => {
Navigator.pop(context, result),
FocusScope.of(context).requestFocus(FocusNode())
};
static onBackPressed(BuildContext context) {
NavigatorState navigatorState = Navigator.of(context);
if (navigatorState.canPop()) {
navigatorState.pop();
} else {
SystemNavigator.pop();
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment