视频聊天系统源码flutter 设置状态栏颜色

导包:

import 'dart:io';
import 'package:flutter/services.dart';

修改状态栏代码:

if (Platform.isAndroid) {
    // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
    SystemUiOverlayStyle systemUiOverlayStyle =
    SystemUiOverlayStyle(statusBarColor: KColorConstant.personalColors);
    SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  }

使用方法:

void main() {
  runApp(MyApp());
  if (Platform.isAndroid) {
    // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
    SystemUiOverlayStyle systemUiOverlayStyle =
    SystemUiOverlayStyle(statusBarColor: KColorConstant.personalColors);
    SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
  }
}

或者:

class Details extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    if (Platform.isAndroid) {
      // 以下两行 设置android状态栏为透明的沉浸。写在组件渲染之后,是为了在渲染后进行set赋值,覆盖状态栏,写在渲染之前MaterialApp组件会覆盖掉这个值。
      SystemUiOverlayStyle systemUiOverlayStyle =
          SystemUiOverlayStyle(statusBarColor: KColorConstant.personalColors);
      SystemChrome.setSystemUIOverlayStyle(systemUiOverlayStyle);
    }
    return MaterialApp(
        theme: new ThemeData(
          primaryColor: KColorConstant.personalColors,
        ),
        routes: {'/GradListManage': (BuildContext context) => GradListManage()},
        home: Details_Statefu());
  }
}

修改状态字体颜色:
设置 AppBar brightness 属性值

appBar: AppBar(
        brightness: Brightness.light,
)

Brightness.light 黑色
Brightness.dark 白色

不使用 appbar 的话 则用:

@override
  Widget build(BuildContext context) {

    return AnnotatedRegion<SystemUiOverlayStyle>(
      value: SystemUiOverlayStyle.light,
      child: Material(child:Scaffold(),),);
  }
SystemUiOverlayStyle.light 白色
SystemUiOverlayStyle.dark 黑色

你可能感兴趣的:(技术类)