首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GridView生成器中选择项效果

在GridView生成器中选择项效果
EN

Stack Overflow用户
提问于 2019-04-05 09:32:14
回答 2查看 1.3K关注 0票数 0

我从sqflite数据库中加载了GridView.builder中的项目。由于它的模型类不是重要的,当然,我不能从那里对项目创建选择效果。

我所说的选择效应是这样的:

当用户点击某一项时,它将被选中。

代码语言:javascript
复制
GridView.builder(
                gridDelegate:.....,
                itemBuilder: (BuildContext context, int index) {
             bool _selectItem = false;
                  return InkWell(
                      onTap: () {},
                      child: Stack(
               children: <Widget>[
               itemsList[index]),        //====Actual Item=====//
             InkWell(onTap: () {         //===To create Select Effect====//
                    setState(() {
                      if (_selectItem == false) {
                        _selectItem = true;
                        print("Item Selected");
                      } else {
                        _selectItem = false;
                        print("Item UnSelected");
                      }
                    });
                  },
                  child: Opacity(
                    opacity: _selectItem == true ? 0.5 : 0.0,
                    child: Icon(Icons.select)                            
                   ),]); },
                itemCount: itemsList.length, 
                 ))

我可以创建一个选择效果,但它选择所有的项目,如果我点击任何一个项目。如何为每个单项创建选择效果。

那么,我如何为每个项目创建选择效果呢?

我在代码中只写了相关的东西

链接到原始问题(颤振)网格视图生成器中项的选择效果

EN

回答 2

Stack Overflow用户

发布于 2019-04-05 09:53:06

好的,我建议您将无状态项包装到GestureDetector中。

然后,您可以决定要检测到哪个手势并对其做出反应,这是文档

希望能帮上忙

票数 0
EN

Stack Overflow用户

发布于 2019-04-05 16:04:21

您可以尝试在简单的动画中使用Hero小部件,但是如果使用自定义动画,则必须将其更改为有状态小部件。

英雄小部件的短片:https://www.youtube.com/watch?v=Be9UH1kXFDw

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55532316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档