繁体   English   中英

Android-闪屏的淡出动画

[英]Android - Fadeout animation for splash screen

我想为我的启动画面添加淡出动画,即在关闭启动画面时要带来淡出动画效果。

这是我尝试过的代码。

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

但是以上只能从2.0版本开始使用。 Ny应用程序应从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>

现在,我可以看到渐变效果,但是可以看到黑屏。

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

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

@android:style/Theme.Translucent

SWDeveloper,

自从我自己进行Android开发以来已经有一年了,但我记得自己的启动画面遇到了这个确切的问题。

不幸的是,对于2.0之前的版本,我相当确定,活动之间不可能实现所需的过渡类型。 也就是说,在1.5 / 1.6中,活动之间只能使用内置的过渡动画。

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

如果这似乎需要大量工作,您也可以选择在初始活动中包括闪屏视图,并始终先显示然后淡出。 全部都在同一活动中。 使用此方法可能会节省您的时间和工作,但会丢失一些将屏幕分成多个单独的活动所带来的模块化。

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

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

祝好运!

如果您在启动屏幕上使用单独的“活动”,则可以执行您已注意到的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
}

最好将启动屏幕作为主要活动的一部分( 请参见本示例 )。 当初始屏幕是您的主要活动的一部分时,您可以简单地将动画分配给初始屏幕布局。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM