1
votes

Flutter: couleur de la bordure sur Alertdialog et police

Je suis nouveau dans le flutter et j'essaie de mettre une couleur de bordure dans un AlertDialog. Je ne trouve pas de moyen de le faire, alors j'ai essayé de le remplacer par un conteneur mais la police n'est pas la même et je ne trouve pas la bonne police. Voici le AlertDialog que j'essaye de répliquer. La police est la même que celle utilisée pour l'étiquette FlatButton, mais je ne la trouve toujours pas.

AlertDialog(
          backgroundColor: Theme.of(context).primaryColor,
          contentPadding: EdgeInsets.all(0),
          title:Center(child:Text(contact.name + " "+ contact.familyName)),
          content:Column(
            children: <Widget>[
              Text(_role,style: _style),
              Divider(
                color: Colors.blueGrey,
              ),
              FlatButton.icon(
                label: Text(
                  "Voir le profil",
                ),
                icon:Icon(
                  Icons.account_circle,
                  color: Colors.black,
                ),
                onPressed:(){
                  Navigator.push(
                    context,
                    MaterialPageRoute(builder: (context) => UserProfileScreen(userId:contact.id)),
                  );
                },
              ),
              FlatButton.icon(
                label: Text(
                  "Ajouter en ami",
                  style:TextStyle(color:Colors.green),
                ),
                icon:Icon(
                  Icons.add,
                  color: Colors.green,
                ),

                onPressed:()=>Navigator.pop(context,RoleActions.AJOUT_AMI),
              ),
              _buildPermissions(),
            ],
          ),
        ),

 Corriger la boîte de dialogue d'alerte Réplique de la boîte de dialogue d'alerte lors de l'utilisation de dialog


0 commentaires

3 Réponses :


0
votes

Ne remplacez pas le tout par le conteneur plutôt que de les enfermer dans un conteneur. comme ceci

Container(
                decoration: BoxDecoration(
                  border: Border.all(
                    color: Colors.white  //Add color of your choice
                  )
                ),
                child: AlertDialog()),


1 commentaires

Bonjour, AlertDialogs sont hérités de Dialog et ont un remplissage intégré, donc l'enfermer dans un conteneur créerait une bordure, puis un remplissage vide puis la boîte de dialogue d'alerte. J'ai tout remplacé par un conteneur car je ne pouvais pas obtenir un bon résultat. Pourtant, merci beaucoup d'avoir répondu :)



0
votes

J'ai tout remplacé par un conteneur pour imiter un AlertDialog, et copié les données du thème

Container(
    padding:EdgeInsets.symmetric(horizontal: 40.0, vertical: 24.0),
    child:Container(
            decoration: BoxDecoration(
              color: lighten(Theme.of(context).primaryColor,10),
              borderRadius: BorderRadius.all(Radius.circular(20)),
              border: Border.all(
                color: Theme.of(context).primaryColorLight,
              ),
            ),
            padding: EdgeInsets.all(10),
            child : Column(
              children: <Widget>[
                Text(
                  contact.name + " "+ contact.familyName,
                  textAlign: TextAlign.center,
                  style: Theme.of(context).textTheme.headline6.copyWith(color:Colors.red),
                ),
                Text(_role,style: _style,textAlign: TextAlign.center),
                Divider(
                  color: Colors.blueGrey,
                ),
                FlatButton.icon(
                  label: Text(
                    "Voir le profil",
                  ),
                  icon:Icon(
                    Icons.account_circle,
                    color: Theme.of(context).primaryColorLight,
                  ),
                  onPressed:(){
                    Navigator.push(
                      context,
                      MaterialPageRoute(builder: (context) => UserProfileScreen(userId:contact.id)),
                    );
                  },
                ),
                FlatButton.icon(
                  label: Text(
                    "Ajouter en ami",
                    style:TextStyle(color:Colors.green),
                  ),
                  icon:Icon(
                    Icons.add,
                    color: Colors.green,
                  ),

                  onPressed:()=>Navigator.pop(context,RoleActions.AJOUT_AMI),
                ),
                _buildPermissions(),
              ],
            ),
          )
)


0 commentaires

0
votes

Si vous cherchez simplement une bordure, vous pouvez la définir avec shape:

return AlertDialog(
    backgroundColor: Colors.black,
    shape: RoundedRectangleBorder(
        side: BorderSide(color: Colors.red)),
);


0 commentaires