Один из способов сделать это - установить переменную в вашем SharedPreferences
, чтобы ваше приложение знало, когда вы хотите изменить цвет фона main.dart's
на черный или нет. SharedPreferences
сохраняет это значение в локальном хранилище, чтобы запомнить ваши предпочтения даже после закрытия приложения. Не забудьте импортировать пакет SharedPreferences
: https://pub.dev/packages/shared_preferences# -readme-tab-
Вы можете установить переменную в SharedPreferences
следующим образом:
var prefs = await SharedPreferences.getInstance(); //instantiate shared preferences
prefs.setBool("key",false) //set a boolean using key value pairs
После этого вы должны получить значение, вызвав функцию, предпочтительно в initState ()
bool bg_gray=false; //place this on top of widget build
getValue() async{
if (prefs.getBool("key") == null){ //retrieve the value
bg_grey=false;
}
bg_gray=prefs.getBool("key");//retrieve the value
}
Теперь, когда вы получили свое значение, просто используйте тернарные операторы, чтобы установить цвет вашего TextFormField
цвет фона
decoration: InputDecoration(
color: bg_gray? Colors.white:Colors.grey,
),