Flutter-Как изменить цвет текста строки состояния в темном режиме? - PullRequest
3 голосов
/ 10 октября 2019

Я надеюсь управлять цветом текста в строке состояния в iOS 13 Dark Mode. Я мог бы изменить цвет строки состояния, установив свойство AppBar в Scaffold «яркость», когда не открыт темный режим. Коды, как показано ниже:

return Scaffold(
      appBar: AppBar(
        brightness: Brightness.light,  //<--Here!!!
        title: Text(widget.title),
      ),
...

Усилие так же, как это:

яркость света: enter image description here

темная яркость: enter image description here

Но когда я включаю симулятор Dark Mode , метод не работает. Откройте «Темный внешний вид» симулятора: enter image description here

После открытия «Темного внешнего вида» цвет текста в строке состояния больше не может меняться методом, он просто белый. (режим легкости). enter image description here

Я пытался использовать этот метод для изменения цвета текста в строке состояния:

Метод 1:

void main() {
  SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);
  SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown
  ]);
  runApp(MyApp());
}

Метод 2:

return AnnotatedRegion<SystemUiOverlayStyle>(
      value: SystemUiOverlayStyle.light,
      child: Material(
        child: Scaffold(
          appBar: AppBar(
            brightness: Brightness.light,
            title: Text(widget.title),
          ),
          body: Center(

Но ни один из них не может работать.

Надеюсь на вашу помощь! Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Я обнаружил, что мой вопрос точно так же, как и флаттер Выпуск # 41067 --- " Флаттер не меняет автоматически черные значки состояния на устройствах под управлением iOS 13.0 в темном режиме. поэтому, когда Dark Mode на iOS 13 выключен # 41067"

, и состояние проблемы открывается, поэтому просто надеемся, что оно будет решено как можно скорее. Ссылка на проблему чуть ниже: выпуск флаттера # 41067

0 голосов
/ 10 октября 2019

Если ваше приложение - MaterialApp, вы можете установить свойство darkTheme вашего MaterialApp:

return new MaterialApp(
  darkTheme: ThemeData.dark(),
);

Вот ссылка на документ: https://api.flutter.dev/flutter/material/MaterialApp-class.html

Если оно неЧтобы решить свою проблему, вы можете создать свою собственную темную тему, используя:

return new MaterialApp(
  darkTheme: ThemeData(
    // Your theme config
  ),
);

Ссылка на ThemeData doc: https://api.flutter.dev/flutter/material/ThemeData-class.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...