web-dev-qa-db-fra.com

Couleur de fond du dialogue de changement de flottement

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?

2
Volleyball

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"),
      );
    },
  ),
)
5
Volleyball

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"),
  );
}
0
CopsOnRoad