Ole*_*lek 5 animation android transition frame imageview
我做了一个帧动画.但是图像之间的过渡很糟糕.如何对其应用交叉渐变效果?
使用时TransitionDrawable我得到了正确的结果,但一次执行后就停止了.
任何人都知道如何解决它?
public void startAnimation() {
if (logoAnimation != null) {
if (logoAnimation.isRunning()) {
logoAnimation.stop();
}
logoAnimation.start();
}
}
private int setLogoAnimation(int animationID, int targetID) {
imageView = (ImageView) window.findViewById(targetID);
imageView.setImageResource(animationID);
logoAnimation = (AnimationDrawable) imageView.getDrawable();
if (imageView != null && logoAnimation != null) {
return 1;
} else {
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我只是通过object.startAnimation()运行它; 我的作品,但动画很难看,我需要它很流畅.
如果你想在两张图片之间交叉淡入淡出,为什么不使用AlphaAnimation来改变两个视图的透明度,并创建你需要的效果.
创建两个动画:
RES /动画/ fadeout.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="@android:integer/config_mediumAnimTime" />
Run Code Online (Sandbox Code Playgroud)
RES /动画/ fadein.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
Run Code Online (Sandbox Code Playgroud)
然后覆盖活动之间的默认转换:
startActivity( new Intent( this, SecondActivity.class ) );
overridePendingTransition( R.anim.fadeout, R.anim.fadein );
Run Code Online (Sandbox Code Playgroud)
或者您可以将动画应用于特定小部件:
Animation animation = AnimationUtils.loadAnimation( this, R.anim.fadeout );
image1.startAnimation( animation );
Run Code Online (Sandbox Code Playgroud)
我目前正处于我博客上的动画系列中间,可能会为您提供更多信息.
| 归档时间: |
|
| 查看次数: |
11052 次 |
| 最近记录: |