Как изменить цвет текста строки состояния на Ios
Я новичок во всем этом трепетании. Я искал везде, чтобы найти решение этой маленькой проблемы.
Есть ли способ изменить цвет строки состояния?
Также, когда я использую цвет, такой как colors.blue, я вижу, что качество текста в строке состояния не очень хорошее.
Благодаря
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,
),
);
}
}
Ответ 5
Я использовал плагин flutter_statusbar_text_color https://pub.dev/packages/flutter_statusbar_text_color, чтобы изменить цвет текста строки состояния на черный.