Как изменить цвет текста строки состояния на Ios

Я новичок во всем этом трепетании. Я искал везде, чтобы найти решение этой маленькой проблемы. Есть ли способ изменить цвет строки состояния? Также, когда я использую цвет, такой как colors.blue, я вижу, что качество текста в строке состояния не очень хорошее.

Благодаря

enter image description here

appBar: AppBar(
    elevation : 0.0,
    leading: IconButton(
      icon: Icon(Icons.menu),
      tooltip: 'Navigation menu',
      onPressed: null,
    ),
    actions: <Widget>[
      IconButton(
        icon: Icon(Icons.search),
        tooltip: 'Search',
        onPressed: null,
      ),
    ],
  ),

Ответ 1

@Antoine По сути, вы можете установить яркость вашей темы или вручную изменить яркость панели приложения, используя следующее:

appBar: new AppBar(
  title: new Text(widget.title),
  brightness: Brightness.light, // or use Brightness.dark
),

Обратите внимание, что при этом будет переключаться только между белым и черным цветом текста статуса.

.dark сделает текст строки состояния БЕЛЫМ, а .light сделает текст строки статуса ЧЕРНЫМ

Может быть, для более индивидуального цвета, как в комментарии сказано, что вы можете просматривать класс SystemChrome.

Ответ 2

Для IOS и Android:

SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark.copyWith( statusBarColor: Colors.white,//Color for Android statusBarBrightness: Brightness.dark//Dark == white status bar -- for IOS. ));

Ответ 3

Когда я не использую AppBar, цвет можно изменить с помощью AnnotatedRegion.

import 'package:flutter/services.dart';

...    

Widget build(BuildContext context) {
   return Scaffold(
      body: AnnotatedRegion<SystemUiOverlayStyle>(
         value: SystemUiOverlayStyle.light,                
         child: ...,
      ),
   );
}

Ответ 4

@Antoine эта проблема была головной болью для меня. Я использовал плагин statusbarColor https://pub.dartlang.org/packages/flutter_statusbarcolor, чтобы изменить цвет строки состояния на черный. Затем я установил яркость панели управления в темноту, потому что это был темный фон.

import 'package:flutter/material.dart';
import 'package:flutter_statusbarcolor/flutter_statusbarcolor.dart';
import 'package:flutter/services.dart';

void main() async{

  try {
    await FlutterStatusbarcolor.setStatusBarColor(Colors.black);
  }  catch (e) {
    print(e);
  }


  runApp(MaterialApp(
    title: 'Using Keys',
    debugShowCheckedModeBanner: false,
    theme: ThemeData(
      primaryColor: Colors.white

    ),
    home: InputBox(),
  ));
}

class InputBox extends StatefulWidget {
  @override
  _InputBoxState createState() => _InputBoxState();
}

class _InputBoxState extends State<InputBox> {
  bool loggedIn = false;
  String _email, _username, _password;

  final scaffoldKey = GlobalKey<ScaffoldState>();     //a key for the state of the scaffold
  final formKey = GlobalKey<FormState>();             //a key for the state of the form

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: scaffoldKey,
      appBar: AppBar(
        //backgroundColor: Colors.white,
        centerTitle: false,
        brightness: Brightness.dark,
        title: Text("Using Keys",
            style: TextStyle(
              fontSize: 24.0,
            )),
        elevation: 4.0,
      ),
    );
  }
}