首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我可以更改Android startActivity()过渡动画吗?

我可以更改Android startActivity()过渡动画吗?
EN

Stack Overflow用户
提问于 2010-08-19 02:16:34
回答 8查看 149.8K关注 0票数 117

我正在开始一个活动,我更希望startActivity()有一个阿尔法淡入,finish()有一个淡出。我如何在Android SDK中实现这一点?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-08-19 02:55:29

在执行finish()的同一条语句中,也在那里执行动画。然后,在新的活动中,运行另一个动画。请参阅以下代码:

fadein.xml

代码语言:javascript
复制
<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>

在你的终结课上

代码语言:javascript
复制
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

代码语言:javascript
复制
<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。

票数 35
EN

Stack Overflow用户

发布于 2012-02-15 17:45:31

从API级别5开始,您可以立即调用overridePendingTransition来指定显式的过渡动画:

代码语言:javascript
复制
startActivity();
overridePendingTransition(R.anim.hold, R.anim.fade_in);

代码语言:javascript
复制
finish();
overridePendingTransition(R.anim.hold, R.anim.fade_out);
票数 295
EN

Stack Overflow用户

发布于 2010-08-19 02:21:32

查看android上的主题:http://developer.android.com/guide/topics/ui/themes.html

themes.xml下应该有android:windowAnimationStyle,您可以在其中看到styles.xml中的样式声明。

示例实现:

代码语言:javascript
复制
<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>
票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3515264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档