WindowManager.LayoutParams动画

时间:2012-05-10 17:54:58

标签: android animation imageview layoutparams

我通过ImageView添加WindowManager.addView(ImageView, WindowManager.LayoutParams)。我想在屏幕上显示ImageView时为其设置动画,但在ImageView.startAnimation(Animation)方法后调用addView()时,它似乎没有动画效果。这是我下面的代码......

image = new ImageView(context);
image.setImageResource(R.drawable.image);
image.setAlpha(180);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT,
     WindowManager.LayoutParams.WRAP_CONTENT,
     WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 0, PixelFormat.TRANSLUCENT);
windowManager.addView(image, params);
image.startAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.grow));

这是grow.xml

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale android:fromXScale="0" 
           android:toXScale="1"
           android:fromYScale="0"
           android:toYScale="1"
           android:pivotX="50%"
           android:pivotY="50%"
           android:duration="350"/>
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="350" />
</set>

图像只是出现在窗口中而没有动画,是否有人知道如何让图像动画?

1 个答案:

答案 0 :(得分:0)

如果您决定使用windowAnimations字段,则您指定的常量必须是系统资源;它不能是应用程序资源,因为窗口管理器无权访问应用程序。请参阅documentation)。