我正在开始一个活动,我更希望startActivity()
有一个阿尔法淡入,finish()
有一个淡出。我如何在Android SDK中实现这一点?
发布于 2010-08-19 02:55:29
在执行finish()的同一条语句中,也在那里执行动画。然后,在新的活动中,运行另一个动画。请参阅以下代码:
fadein.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<alpha android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="500"/> //Time in milliseconds
</set>
在你的终结课上
private void finishTask() {
if("blabbla".equals("blablabla"){
finish();
runFadeInAnimation();
}
}
private void runFadeInAnimation() {
Animation a = AnimationUtils.loadAnimation(this, R.anim.fadein);
a.reset();
LinearLayout ll = (LinearLayout) findViewById(R.id.yourviewhere);
ll.clearAnimation();
ll.startAnimation(a);
}
fadeout.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="500"/>
</set>
在新的Activity类中,您创建了一个类似于我编写的runFadeAnimation的方法,然后在onCreate中运行它,并且不要忘记将资源id更改为fadeout。
发布于 2012-02-15 17:45:31
从API级别5开始,您可以立即调用overridePendingTransition来指定显式的过渡动画:
startActivity();
overridePendingTransition(R.anim.hold, R.anim.fade_in);
或
finish();
overridePendingTransition(R.anim.hold, R.anim.fade_out);
发布于 2010-08-19 02:21:32
查看android上的主题:http://developer.android.com/guide/topics/ui/themes.html。
在themes.xml下应该有android:windowAnimationStyle
,您可以在其中看到styles.xml中的样式声明。
示例实现:
<style name="AppTheme" parent="...">
...
<item name="android:windowAnimationStyle">@style/WindowAnimationStyle</item>
</style>
<style name="WindowAnimationStyle">
<item name="android:windowEnterAnimation">@android:anim/fade_in</item>
<item name="android:windowExitAnimation">@android:anim/fade_out</item>
</style>
https://stackoverflow.com/questions/3515264
复制相似问题