首页 > 解决方案 > Listview 动画切换器

问题描述

我正在考虑构建一个列表视图,默认情况下显示标题列表,当点击它时会展开相同的项目以显示更多详细信息。我想使用动画切换器,这就是我所做的

Widget build(BuildContext context) {
    return ListView.builder(
      itemCount: data.length,
      itemBuilder: (context, index) => GestureDetector(
        behavior: HitTestBehavior.translucent,
        onTap: () {
          setState(() {
            selectedIndex = index;
          });
        },
        child: AnimatedSwitcher(
          child: _listItem(index),
          duration: const Duration(milliseconds: 300),
        ),
      ),
    );
  }

Widget _listItem(int index) {
    return index == selectedIndex
        ? Container(
            height: 300,
            color: Colors.black,
            child: Center(
              child: Text("Selected"),
            ),
          )
        : Container(
            height: 50,
            color: colors[index],
          );
  }

点击它确实会更改小部件,但没有动画。我认为 AnimatedSwitcher 不能在这里使用,那还能怎么做呢?

标签: flutter

解决方案


推荐阅读