相关疑难解决方法(0)

如何在Flutter中更改状态栏颜色?

我正在尝试将状态栏颜色更改为白色...我发现这个酒吧在flutter https://pub.dartlang.org/packages/flutter_statusbarcolor ...我试图在我的dart文件(主要和其他)上使用示例代码...但是它不起作用......任何想法的家伙?

dart flutter flutter-dependencies flutter-layout

23
推荐指数
15
解决办法
2万
查看次数

我如何或在何处更改系统状态栏Flutter框架

我正在尝试将系统状态栏的颜色更改为黑色.配置似乎被AppBar类覆盖.我可以通过分配主题来实现我想要的:ThemeData.dark()在创建Material App时,然后指定一个appBar attribute.但我不想要一个AppBar,并且这样做也会改变所有的字体颜色.

一种可能的解决方案是将ThemeData.bright()继承到新类中,然后添加仅更改系统状态栏的内容

setSystemUIOverlayStyle
Run Code Online (Sandbox Code Playgroud)

然后我需要指定AppBar并让它以某种方式隐形?

https://docs.flutter.io/flutter/services/SystemChrome/setSystemUIOverlayStyle.html

main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:english_words/english_words.dart';
import 'layout_widgets.dart' as layout_widgets;

class RandomWords extends StatefulWidget {
  @override
  createState() => new RandomWordsState();
}
class RandomWordsState extends State<RandomWords> {
  final _suggestions = <WordPair>[];
  final _saved = new Set<WordPair>();
  final _biggerFont = const TextStyle(fontSize: 18.0);

  void _pushSaved() {
     Navigator.of(context).push(
       new MaterialPageRoute(
           builder: (context) {
             final tiles = _saved.map((pair) {
               return new ListTile(
                 title: new Text(pair.asPascalCase,style:_biggerFont)
               );
              }
             );
             final divided = ListTile.divideTiles( …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

16
推荐指数
4
解决办法
9002
查看次数

SystemChrome.setSystemUIOverlayStyle 不适用于 iO

通过运行此代码,我在 Android 和 iO 上得到了 2 个不同的结果。对于 Android 来说,一切都按预期工作,但对于 iO 来说,它会被忽略。我没有收到任何错误或类似的错误。

class MyMaterialApp extends StatefulWidget {
  const MyMaterialApp({Key key}) : super(key: key);

  @override
  _MyMaterialAppState createState() => _MyMaterialAppState();
}

class _MyMaterialAppState extends State<MyMaterialApp> {
  @override
  Widget build(BuildContext context) {
    SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
      statusBarColor: Colors.blue,
      statusBarIconBrightness: Brightness.dark,
      systemNavigationBarColor: Colors.blue,
      systemNavigationBarIconBrightness: Brightness.dark,
    ));
    return MaterialApp()
}
}
Run Code Online (Sandbox Code Playgroud)

iPhone 11模拟器: iPhone 11模拟器

三星 s10e 设备: 三星 s10e 设备

有谁知道为什么会发生这种情况?谢谢!

android ios flutter flutter-layout

6
推荐指数
0
解决办法
1366
查看次数

颤动中的底部导航栏颜色恢复为黑色

在 main 方法中使用以下代码行更改颤动中的底部导航栏颜色时:

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
  systemNavigationBarColor: Colors.white,
  statusBarColor: Colors.transparent,
));
Run Code Online (Sandbox Code Playgroud)

它工作正常,但在主页使用 SilverAppBar一段时间后,底部导航栏颜色恢复为黑色:

body: CustomScrollView(
    slivers: <Widget>[
      SliverAppBar(
        expandedHeight: 300,
        floating: false,
        pinned: true,
        snap: false,
        backgroundColor: Colors.white,
        flexibleSpace: FlexibleSpaceBar(),
      ),
      SliverList(
        delegate: SliverChildListDelegate(<Widget>[

        ]),
      )
    ],
  ),
Run Code Online (Sandbox Code Playgroud)

更改 expandedHeight: 250底部导航栏颜色的值时不会改变,所以问题出在expandedHeightvalue内部,那么为什么以及如何解决这个问题。

android dart flutter

3
推荐指数
1
解决办法
904
查看次数