J'essaie d'avoir quelque chose comme ça.
Mais je ne sais pas comment le faire, je ne trouve aucune option liée au conteneur de styles de chaque onglet. < / p>
3 Réponses :
Vous pouvez essayer de cette façon Un autre exemple identique à votre exigence p> Veuillez trouver un exemple de code avec des effets de clic p> Vous pouvez vérifier ici sur dartpad BottomNavigationBaritem avec bordures P> P>
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 code> Donc, ma question est de savoir comment utiliser "BottomNavigateBaritem`
@yavg Si vous souhaitez ajouter clic, vous pouvez envelopper votre widget à l'intérieur inkwell code>
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)
]),
)),
));
}
}
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;
}
}