如何使用动画加载GridView?

问题描述 投票:2回答:2

我正在尝试GridView上的动画类似于这个http://framerjs.com/examples/preview/#delayed-animations.framer。我在GridView上尝试了slideUp动画,但所有列都在同一点移动。我需要它类似于上面的链接。

android animation android-gridview
2个回答
9
投票

使用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"

4
投票

在“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函数可能不同,但这段代码会给你提示。

© www.soinside.com 2019 - 2024. All rights reserved.