我正在尝试GridView
上的动画类似于这个http://framerjs.com/examples/preview/#delayed-animations.framer。我在GridView
上尝试了slideUp动画,但所有列都在同一点移动。我需要它类似于上面的链接。
使用GridLayoutAnimationController进行网格项动画。
Animation animation = AnimationUtils.loadAnimation(getContext(),R.anim.grid_item_anim);
GridLayoutAnimationController controller = new GridLayoutAnimationController(animation, .2f, .2f);
mGrid.setLayoutAnimation(controller);
grid_item_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="1000"
android:fromYDelta="100%p"
android:interpolator="@android:anim/linear_interpolator"
android:toYDelta="0%p" />
</set>
在网格视图布局中将动画布局更改添加为true
android:animateLayoutChanges="true"
在“res”下创建一个名为“anim”的文件夹,在“anim”里面创建一个名为animation_move.xml的xml文件(可以是任何名称)。这个应用程序在GridView中使用了一些动画.Social Stickers
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="5000"
android:fromYDelta="0%p"
android:interpolator="@android:anim/cycle_interpolator"
android:toYDelta="100%p" />
</set>
并在您的适配器类中,进行初始化
Animation animation = AnimationUtils.loadAnimation(context, R.anim.animation_move);
在getview函数中,假设您正在使用图像
picture = (ImageView) v.getTag(R.id.picture);
picture.setImageResource(item.drawableId);
picture.startAnimation(animation);
你的getview函数可能不同,但这段代码会给你提示。