Я использовал свойство dialogBackgroundColor
, но цвет не менялся. Может кто подскажет, как изменить цвет фона диалога?
Цвет фона диалогового окна изменения флаттера
Ответы (6)
Теперь вы можете использовать свойство backgroundColor
AlertDialog
, чтобы изменить цвет.
AlertDialog(
backgroundColor: Colors.orange,
...
)
person
CopsOnRoad
schedule
17.05.2019
Вы можете сделать это без использования Builder
.
Вот пример.
@override
Widget build(BuildContext context) {
return RaisedButton(
onPressed: () {
showDialog(
context: context,
builder: (context) {
return Theme(
data: Theme.of(context).copyWith(dialogBackgroundColor: Colors.orange),
child: AlertDialog(
title: Text("Dialog Title"),
),
);
},
);
},
child: Text("Show dialog"),
);
}
person
CopsOnRoad
schedule
22.12.2018
Вам нужно обернуть свой Dialog
в Builder
вот так. После этого dialogBackgroundColor
будет иметь эффект.
Theme(
data: ThemeData(dialogBackgroundColor: Colors.orange),
child: Builder(
builder: (context) {
return RaisedButton(
onPressed: () {
showDialog(
context: context,
builder: (context) {
return AlertDialog(
title: Text("Dialog title"),
);
},
);
},
child: Text("Show dialog"),
);
},
),
)
person
Community
schedule
08.12.2018
Побочный эффект заключается в том, что он также изменит тему RaisedButton.
- person Gudin; 02.09.2020
Этот блок кода работает на меня. Здесь вы можете изменить цвет из этой строки data: Theme.of (context) .copyWith (dialogBackgroundColor: Colors.white)
void openDialog(BuildContext context) {
showDialog(
context: context,
barrierDismissible: true,
builder: (context) {
return Theme(
data:
Theme.of(context).copyWith(dialogBackgroundColor: Colors.white),
child: new SimpleDialog(
title: new Text("Title Here...."),
children: <Widget>[
new SimpleDialogOption(
child: Text('Demo Text One'),
onPressed: () {
Navigator.pop(context);
},
),
new SimpleDialogOption(
child: Text('Demo Text Two'),
onPressed: () {
Navigator.pop(context);
},
),
new SimpleDialogOption(
child: Text('Close'),
onPressed: () {
Navigator.pop(context);
},
),
],
),
);
},
);
}
person
Tejas Shukla
schedule
10.01.2020
Привет, я уже говорил об этом в моем ответе.
- person CopsOnRoad; 10.11.2020
Теперь вы можете использовать свойство backgroundColor в AlertDialog, чтобы изменить цвет.
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(20.0))),
backgroundColor: Colors.green,
content: Container(...)
),
}),
person
Ahmed Raza
schedule
19.01.2021
person
schedule
Добавьте полезный текст, а не только код, и минимум кода, чтобы сделать его действительно полезным.
- person Robert Sandberg; 07.02.2021