【问题标题】:Android - Fadeout animation for splash screenAndroid - 闪屏的淡出动画
【发布时间】:2010-10-13 15:32:47
【问题描述】:

我想为我的闪屏添加淡出动画,也就是在关闭闪屏的同时我想带来淡出动画效果。

这是我尝试过的代码。

overridePendingTransition(R.anim.fade_in, R.anim.fade_out);

但以上只能从 2.0 开始使用。任何应用都应该从 1.5 开始支持。

所以我为我的主要活动设置了以下动画。

getWindow().setWindowAnimations(android.R.style.Animation_Toast);

getWindow().setWindowAnimations(R.style.Theme_FadeIn);

我的 Theme.FadeIn 包含

<style name="Theme.FadeIn">
<item name="android:windowNoTitle">true</item>
<item name="android:activityOpenEnterAnimation">@anim/fade_in</item>   
</style>

现在我可以看到淡入淡出效果,但我可以看到黑屏。

如何在没有黑屏的情况下获得这种淡入或淡出效果。

【问题讨论】:

    标签: android animation android-activity fadeout


    【解决方案1】:

    你可以尝试让你的活动半透明...看看 sdk 中的半透明主题

    @android:style/Theme.Translucent
    

    【讨论】:

      【解决方案2】:

      SW 开发者,

      虽然我自己进行任何 Android 开发已经过去了大约一年,但我记得我自己的启动画面遇到了这个确切的问题。

      不幸的是,对于 2.0 之前的版本,我相当肯定您想要的转换类型在活动之间是不可能的。即在 1.5/1.6 中,Activity 之间只能使用内置的过渡动画。

      话虽如此,我似乎记得我在给定的活动中使用视图转换动画来产生我正在寻找的那种效果。换句话说,在我的初始屏幕活动中,在过渡到下一个活动之前,将初始视图淡化为一个空白的白色视图。下一个 Activity 将从一个空白的白色视图开始,然后淡入该 Activity 的实际视图。

      如果这看起来工作量很大,您也可以选择将初始屏幕视图包含在初始活动中,并始终先呈现然后淡出。都在同一个活动中。使用这种方法可能会节省您的时间和工作量,但会使您失去一些将屏幕分离为单独活动所带来的模块化。

      视图之间的动画可以通过 ViewFlipper 小部件来实现(如果我没记错的话)。它的 android 文档可以在这里找到: http://developer.android.com/reference/android/widget/ViewFlipper.html

      如果我能掌握我编写的应用程序的代码库,我会尝试稍后发布一个示例。

      祝你好运!

      【讨论】:

      【解决方案3】:

      如果您为初始屏幕使用单独的 Activity,则可以执行您提到的 overridePendingTransition 调用,该调用仅在 Android 2+ 中可用。您可以选择让为 2+ 构建的应用程序执行转换,而以前的版本只需执行默认转换:

      try {
          Method method = Activity.class.getMethod("overridePendingTransition", new Class[]{int.class, int.class});
          method.invoke(youractivity, inanimation, outanimation);
      } catch (Exception e) {
          // Can't change animation, so do nothing
      }
      

      最好将初始屏幕作为主 Activity 的一部分 (see this example)。当初始屏幕是您的主要活动的一部分时,您可以简单地将动画分配给初始屏幕布局。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-10
        • 1970-01-01
        • 1970-01-01
        • 2014-10-24
        • 1970-01-01
        相关资源
        最近更新 更多