0

我有一个 FrameLayout 并向其中动态添加 10 个 ImageView。然后我用下载的图像填充它并想要动画它。缩放和平移动画从错误的位置开始。它应该从屏幕中间开始。当我在运行时更改 ImageView 中的可绘制对象(使用另一个下载的图像)并再次为其设置动画时,动画从正确的位置(从屏幕中间)开始。

我想我必须以某种方式初始化位置。

这就是我创建 imageViews 的方式:

mImages = new ImageView[10]; //Fill Array with ImageViews
    for(int i = 0; i < bufferCount; i++){   // ,Initialize them
        mImages[i]= new ImageView(mCtx);
        mImages[i].setVisibility(View.GONE);//,make them Invisible
        ContentFrame.addView(mImages[i]);   //and add them to the view
    }

这是我的动画:

        Animation animation = AnimationUtils.loadAnimation(mCtx ,R.anim.anim1);
        animation.setAnimationListener(mAnimationDone);

        mImages[imgPos].setVisibility(View.VISIBLE);
        mImages[imgPos].startAnimation(animation);
4

1 回答 1

0

我的动画

<scale
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="2.0"
android:toYScale="2.0"
android:pivotX="50%" android:pivotY="50%"
/>


<alpha android:fromAlpha="1.0" 
    android:toAlpha="0.5" 
     /> 

</set>
于 2012-12-17T19:31:39.337 回答