我试图为我活动的背景设置动画 我所做的是
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);
它工作正常,但问题是当计时器结束时发生的变化是平稳的,有一个突然的运动。我怎么能避免这种情况?
答案 0 :(得分:1)
我认为您应该使用this library (DexMovingImageView)代替。
它提供了一些很酷的过渡(检查他们的演示)。在您的情况下,使用带有多个图像的DexCrossFadeImageView
不要忘记将活动的窗口背景透明化为avoid overdraw。
更新:关于填充,请检查scaletype。
至于动画,这里是KenBurnsView (由Ken Burns效果制作的ImageView),Motion(具有对设备倾斜作出反应的视差效果的ImageView),最后是LoyalNativeSlider(An图片滑块有很多很酷的动画。)
希望这有帮助!