это мой код, он должен запускать анимацию с этим переходом, когда вызывается onTap из GestureDetector, но он не работает, и я не могу понять, почему
это мой код, который должен запускаться анимация с этим переходом, когда вызывается onTap из GestureDetector, но он не работает, и я не могу понять, почему
AnimatedBuilder(
animation: controller,
builder: (context, widget) {
return Transform.rotate(
angle: radians(rotation.value),
child:
Stack(alignment: Alignment.center, children: <Widget>[
for (int i = 0; i < categoryList.length; i++)
new Transform(
transform: Matrix4.identity()
..translate(
((translation.value) *
cos(radians(
i * (360 / categoryList.length)))) +
(0),
(translation.value) *
sin(radians(
i * (360 / categoryList.length))) +
(i * (360 / categoryList.length) == 90
? 40
: (i * (360 / categoryList.length) ==
270
? -40
: 0)),
),
child: GestureDetector(
onTap: () {
print('this button not work');
setState(() {
field = categoryList[i];
});
},
child: Container(
width: 120,
height: 40,
alignment: Alignment.center,
padding: EdgeInsets.all(3),
decoration: BoxDecoration(
color: field == categoryList[i]
? Colors.green
: Color(0xffe46b10),
borderRadius: BorderRadius.circular(10)),
child: Text(
categoryList[i],
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white, height: 1.0),
),
))),
Transform.rotate(
angle: 4590,
child: Transform.scale(
scale: scale.value - 1,
child: FloatingActionButton(
heroTag: '1',
child: Icon(Icons.done,
color: Colors.green, size: 40),
onPressed: () async {
await controller.reverse();
print(field);
await setMyField(field);
await setMyFieldId(getid(field));
Provider.of<AllBooks>(context, listen: false)
.filterBooksBaseOnCategory(context);
Navigator.pushReplacement(
context,
PageRouteBuilder(
pageBuilder: (context, an1, an2) =>
BlocProvider(
create:
(BuildContext context) =>
HelpBloc(),
child: HomePage(false))));
},
backgroundColor: Colors.white),
)),
Transform.scale(
scale: scale.value,
child: FloatingActionButton(
heroTag: '2',
backgroundColor: Colors.white,
child: Icon(Icons.menu, color: Colors.green),
onPressed: _open),
),
]));
})