关于状态栏颜色的变化,我才用了services.dart,苹果不能生效

来源:8-6 本章小结

降维

2021-03-12

滚动页面修改页面的状态栏颜色:
图片描述

首先我在页面的build下新建了代码段如下:
导入的包是services.dart

import 'package:flutter/services.dart';
   if (isAlpha == 1) {
      SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
        statusBarIconBrightness: Brightness.dark,
      ));
    } else if (isAlpha == 0) {
      SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
        statusBarIconBrightness: Brightness.light,
      ));
    }

通过页面新建 int isAlpha = 0;

 int isAlpha = 0;

通过_onScroll的if来动态改变isAlpha的值

  _onScroll(offset) {
    double alpha = offset / APPBAR_SCROLL_OFFSET;
    if (alpha < 0.1) {
      alpha = 0;
      isAlpha = 0;
    } else if (alpha > 1) {
      alpha = 1;
      isAlpha = 1;
    }
    setState(() {
      appBarAlpha = alpha;
    });
  }

实现了滚动页面来改变状态了的颜色

问题是苹果好像有坑,不能这么使用,在苹果状态栏时全局的,不能动态改变

写回答

1回答

CrazyCodeBoy

2021-03-15

可以在其它页面将状态栏在设回来,来适配iPhone

0
1
降维
安卓可以,苹果不行
2021-03-18
共1条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3274 问题

查看课程