TL;DR Il faut que le conteneur remplisse l'espace vertical pour qu'il puisse agir comme un écouteur ontap. J'ai essayé la plupart des solutions mais rien ne semble fonctionner.
Ce que j'essaie de faire, c'est de faire en sorte que mon conteneur remplisse l'espace vertical tout en ayant une largeur fixe. Le premier est ce que j'ai et le troisième ce que je veux. . L'idée est d'avoir le conteneur transparent avec un écouteur de geste ontap. Si quelqu'un a une meilleure idée ou une solution différente, n'hésitez pas à la proposer.
Widget build(BuildContext context) {
return new GestureDetector(
onHorizontalDragUpdate: _move,
onHorizontalDragEnd: _handleDragEnd,
child: new Stack(
children: <Widget>[
new Positioned.fill(
child: new Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
new Container(
child: new IconButton(
padding: new EdgeInsets.only(top: 16.0, bottom: 16.0, left: 24.0, right: 24.0),
icon: new Icon(Icons.warning),
color: Colors.black12,
onPressed: () {},
)
),
],
),
),
new SlideTransition(
position: new Tween<Offset>(
begin: Offset(0.0, 0.0),
end: const Offset(-0.6, 0.0),
).animate(_animation),
child: new Card(
child: new Row(
children: <Widget>[
new Container(
width: 20.0,
height: 20.0,
color: Colors.amber,
),
new Expanded(
child: new Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
_getListTile(),
_ifStoplineIsToBeShown()
],
),
)
],
)
),
),
],
)
);
}
Je suis sûr que j'ai manqué quelque chose, car j'ai essayé beaucoup de choses différentes et rien ne semble fonctionner.
J'ai également téléchargé une image avec le tableau de débogage ici .
PS. Je sais que j'ai défini la hauteur à une valeur fixe, mais c'est la seule façon d'afficher le conteneur.
0 votes
Est
onHorizontalDragStart
ne pas être appelé ? Et où se trouve votre "largeur fixe" ?