2012-06-04 44 views
1

我想为为动态加载到垂直线性布局的图像创建动画。当被触发时,我希望图像的alpha值设置为0(这会将所有下面的内容向下滑动,然后将其淡入)。然后将图像淡入。作为Android动画的新手,我遇到了一些麻烦。现在,我试图让刚刚淡入工作,这里是我有:用于动态加载图像的Android动画

fade_in.xml

<?xml version="1.0" encoding="utf-8"?> 

<alpha 
    xmlns:android="https://chemas.android.com/ap/res/android" 
    android:interpolator="@android:anim/anticipate_interpolator" 
    android:fromAlpha="0.0" 
    android:toAlpha="1.0" 
    android:duration="5000" > 
</alpha> 

在活动:

Animation animation = AnimationUtils.loadAnimation(context, R.anim.fade_in); 

ImageView image = new ImageView(context); 
image.setImageResource(R.drawable.my_image); 
image.setLayoutParams(layoutParams); 
image.setAlpha(0); 

((ViewGroup) view).addView(image, 0); 

image.startAnimation(animation); 

图像被加载的所有上下文它是下移,但如果永远不会淡入。我想得到这个工作,以及让图像滑下来,所以dynamica添加看起来不太乱。

在此先感谢。

回答

1

您在xmlns:android标记中有错字。

应该

xmlns:android = "http://schemas.android.com/apk/res/android"

有了这样修正,只是删除image.setAlpha(0);,它应该动画。恐怕我不能给你一个理由,说明它为什么在alpha属性设置为0时不起作用。

关于下滑动画,你必须继承Animation。看看这个答案,我认为可以帮助你得到你想要的东西:https://stackoverflow.com/a/5122460/871102

+0

感谢您的信息 - 所以错字使动画工作,但不是在5秒钟内消失视图等待5秒,然后阿尔法从0到100瞬间变化。对此有何治疗? – jjNford

+0

这是因为内插器。在你的情况下,我会使用'android:interpolator =“@ android:anim/linear_interpolator”'。内插器定义了动画随时间变化的方式。 –

+0

Thx @Xavi,修复它,现在让它滑下来。 – jjNford