【发布时间】:2023-03-07 01:59:01
【问题描述】:
我正在尝试在 Flutter 中的 GridView 的两个元素之间制作切换动画。
我已经尝试过 PositionedTransition,以及带有 Tween 的常规动画。元素根本没有动画。
import 'package:flutter/material.dart';
class HomeScreen extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _HomeScreenState();
}
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return Container(
alignment: Alignment.center,
child: GridView.count(
shrinkWrap: true,
crossAxisSpacing: 4,
mainAxisSpacing: 4,
crossAxisCount: 5,
children: List.generate(25, (index) {
return GestureDetector(
onVerticalDragUpdate: (drag) {
if (drag.delta.dy > 10) print('down');
if (drag.delta.dy < -10) print('up');
},
onHorizontalDragUpdate: (drag) {
if (drag.delta.dx > 10) print('right');
if (drag.delta.dx < -10) print('left');
},
onHorizontalDragEnd: /* ANIMATE NOW */,
onVerticalDragEnd: /* ANIMATE NOW */,
child: Container(
decoration: BoxDecoration(
color: Colors.green,
borderRadius: BorderRadius.all(Radius.circular(5.0))
),
),
);
}),
)
);
}
}
理想情况下,我希望能够在网格的一个元素上向左/向右/向上/向下滑动,并将该元素与旁边的相应元素切换(相对于滑动方向)。
【问题讨论】:
标签: animation gridview flutter grid