首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android ListView/Gallery布局动画

Android ListView/Gallery布局动画
EN

Stack Overflow用户
提问于 2012-08-18 23:49:08
回答 1查看 1.2K关注 0票数 0

我正在使用画廊小工具。我已经附加了在画廊中淡入元素的布局动画。它工作得很好。

但是当我改变图库的内容,并用notifyDataSetChanged()刷新适配器时,新的元素会出现,但它们没有布局动画。

如何实现这种效果?我经常更新图库内容,每次我都需要这样的效果。

下面是一个代码:

代码语言:javascript
复制
 <com.rtrk.gui.mainmenu.gallery.A4TVGallery
    android:id="@+id/mainMenuGallery"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"
    android:layoutAnimation="@anim/a4tv_gallery_controller"
    android:persistentDrawingCache="animation" />


// Notify new data
mainMenuAdapter.notifyDataSetChanged();

// Set default selection

mainMenuGallery.setSelection(defaultSelectedIndex);

TNX!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-19 00:32:43

文档中描述的布局动画“定义了第一次布局ViewGroup时要使用的布局动画”。因此,这仅在第一次显示视图时使用。

我最近做了一些类似的事情,我不知道这是否是最好的解决方案,但您可以在系统调用getView方法时在适配器中启动动画。重要的不是在getView方法中创建动画对象,而是在适配器构造函数中只创建一次,然后将相同的动画重用于您希望用所需动画显示的视图。

如果您希望仅在新视图上显示动画,请创建一个标志,表示该视图是否已首次显示,并使用视图ID将该视图与正确的标志相关联。

如果您想要控制何时触发动画,请在视图上使用setAnimation方法,而不是startAnimation。如果要创建视图逐渐显示在屏幕上的效果,则此选项非常有用。

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

https://stackoverflow.com/questions/12019942

复制
相关文章

相似问题

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