0
votes

Comment puis-je mettre des frontières à mes éléments de bottleNavigationBaritem?

J'essaie d'avoir quelque chose comme ça.

 Entrez la description de l'image ici

Mais je ne sais pas comment le faire, je ne trouve aucune option liée au conteneur de styles de chaque onglet. < / p> xxx


0 commentaires

3 Réponses :


2
votes

Vous pouvez essayer de cette façon xxx

sortie

 Entrez la description de l'image ici

Un autre exemple identique à votre exigence xxx

sortie

 Entrez la description de l'image ici

Veuillez trouver un exemple de code avec des effets de clic xxx

sortie

Vous pouvez vérifier ici sur dartpad BottomNavigationBaritem avec bordures


2 commentaires

J'apprécie le temps que vous avez pris pour me répondre, mais si je le fais comme si je le suggère, je perds les effets du Bottomnavigatebaritem Donc, ma question est de savoir comment utiliser "BottomNavigateBaritem`


@yavg Si vous souhaitez ajouter clic, vous pouvez envelopper votre widget à l'intérieur inkwell



0
votes

Bonjour Vous pouvez essayer de cette façon, peut-être peut-être vous aider à résoudre le problème, vous pouvez toujours avoir l'effet de l'ondulation que vous souhaitez dans la barre de navigation:

import 'package:flutter/material.dart';

class FieldBottomNavigation extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
        color: Colors.white,
        height: 50,
        child: Center(
          child: Row(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: <Widget>[
                _IconButton(
                    iconData: Icons.home, iconTitle: 'Left', isLeft: true),
                _IconButton(iconData: Icons.search, iconTitle: 'Right')
              ]),
        ));
  }
}

class _IconButton extends StatelessWidget {
  const _IconButton({this.iconTitle, this.iconData, this.isLeft = false});

  final String iconTitle;
  final IconData iconData;
  final bool isLeft;

  @override
  Widget build(BuildContext context) {
    return Expanded(
        child: Container(
      decoration: BoxDecoration(
          border: isLeft
              ? Border(right: BorderSide(color: Colors.green, width: 1))
              : null),
      child: Material(
          color: Colors.transparent,
          child: InkWell(
            onTap: () {},
            child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                crossAxisAlignment: CrossAxisAlignment.center,
                children: <Widget>[
                  Icon(iconData, color: Colors.black, size: 24),
                  Text(iconTitle)
                ]),
          )),
    ));
  }
}


0 commentaires

2
votes

Créer un em> wrapper votre BottomNavigationBar em>

Définir CustomPainTerbottombar em> s'étend de CustomPainter em> et défini dans ForgeRegrounderPainter em> of CustomPainMaint EM> P>

class CustomPainterBottomBar extends CustomPainter {
  static const TAG = 'CustomPainterBottombar';

  Paint paintLine = Paint()..color = Colors.green;

  @override
  void paint(Canvas canvas, Size size) {
    canvas.drawLine(Offset(size.width/2, 0), Offset(size.width/2, size.height), paintLine);
  }

  @override
  bool shouldRepaint(CustomPainter oldDelegate) {
    return true;
  }
}


0 commentaires