视图背景的动画更改不会顺利进行

时间:2015-11-19 12:54:57

标签: android animation android-animation

我试图为我活动的背景设置动画 我所做的是

 ImageView image = (ImageView) findViewById(R.id.toggle_image);
    final TransitionDrawable td = new TransitionDrawable( new Drawable[] {
            getResources().getDrawable(R.drawable.welcomeimagetoggle1),
            getResources().getDrawable(R.drawable.welcomeimagetoggle2)
    });

    image .setImageDrawable(td);
    td.startTransition(3000);
    td.reverseTransition(3000);

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            //Do something after 100ms
            td.startTransition(3000);
            td.reverseTransition(3000);
            handler.postDelayed(this, 3000);
        }
    }, 3000);

它工作正常,但问题是当计时器结束时发生的变化是平稳的,有一个突然的运动。我怎么能避免这种情况?

1 个答案:

答案 0 :(得分:1)

我认为您应该使用this library (DexMovingImageView)代替。
它提供了一些很酷的过渡(检查他们的演示)。在您的情况下,使用带有多个图像的DexCrossFadeImageView 不要忘记将活动的窗口背景透明化为avoid overdraw

更新:关于填充,请检查scaletype。
至于动画,这里是KenBurnsView (由Ken Burns效果制作的ImageView),Motion(具有对设备倾斜作出反应的视差效果的ImageView),最后是LoyalNativeSlider(An图片滑块有很多很酷的动画。)
希望这有帮助!