我有一个可以动态添加或删除到网格的布局的GridView。Android:动态更改GridView内容
在iOS中,GridView项目的原生行为是为网格中的其他项目滑动到删除项目的位置,或者在添加新项目时滑动以腾出空间。
但是在Android上,行为只是为了即时弹出屏幕上的更改。我尝试添加自定义动画使用在GridView的适配器一些技巧,每个getView()调用,但最终导致出现了一些问题,在这里:
Android GridView loading the 0 indexed item in a later index's slot when data set changes
我想有个人的看法控制动画,而不是适配器的getView()方法,但最终结果是相同的。
我也尝试使用GridLayoutAnimationController,像这样:
Animation animation = AnimationUtils.loadAnimation(mActivity, R.anim.grid_item_fadein);
GridLayoutAnimationController controller = new GridLayoutAnimationController(animation, .2f, .2f);
mGrid.setLayoutAnimation(controller);
这适用于所有的GridView内容的初始加载,但该内容的任何变化只是瞬间弹出像它在默认情况下。
我觉得这是一个非常简单的功能,应该有一个更简单的方法来做到这一点。我在网上搜索中看到的最好的效果是a library,它激活了GridView中交换网格中的位置的项目,但这不是我正在寻找的内容(在同一个库中,当通过删除网格从网格中删除项目时同样的瞬间效应,我试图避免发生)。
因此我也看到了一个常见的答案:“看看APIDemos,有很多例子。”但据我所知,实际上没有动画GridView内容更改的示例。
任何帮助表示赞赏,谢谢。
你想添加什么类型的动画?添加xml属性“animateLayoutChanges = true”将为任何视图提供一些基本的流体动画。 – klmprt 2013-04-18 18:33:06
这是我尝试的第一件事,不幸的是它不工作。 – JMRboosties 2013-04-23 16:04:42
五月,我知道如何制止这个动画。 – 2016-10-28 11:22:50