J'utilisais la propriété dialogBackgroundColor
mais la couleur ne changeait pas. Quelqu'un peut-il me dire comment changer la couleur de fond du dialogue?
Vous devez envelopper votre Dialog
dans une Builder
comme ceci. Après cela dialogBackgroundColor
aura un effet.
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"),
);
},
),
)
Vous pouvez le faire sans utiliser Builder
.
Voici l'exemple.
@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"),
);
}