如何修复startActivity上的深灰色背景?

时间:2015-07-20 05:52:39

标签: android android-layout android-activity

抱歉,我的英语技能很差。

我有2个活动,Splash和Main。

  1. MainActivity的LaunchMode是singleTask。
  2. SplashActivity已调用MainActivty 1秒等待Thread。和SplashActivity.finish()。
  3. 问题)

    我的应用程序没有运行。 从意图过滤器开始,SplashAcitivity很好用。

    但是,MainActivity给了我灰色屏幕。 (灰色不是我的布局背景颜色)0.5秒后,填充我的布局。

    但是,从启动器开始,这不会发生。同样,当MainAcitivity为后台时,Intent过滤器启动app。

    如何修复startActivity上的深灰色背景?

1 个答案:

答案 0 :(得分:0)

将这两项添加到splashActivity和MainActivity的主题:

    <style name="SplashTheme" parent="AppTheme">
        <item name="android:windowIsTranslucent">false</item>
        <!-- set your splash background drawable or color -->
        <item name="android:windowBackground">@drawable/abc_item_background_holo_light</item>
    </style>

    <style name="MainTheme" parent="AppTheme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@null</item>
    </style>

并删除这两个活动之间的动画。像这样启动MainActivity:

    ActivityOptions options = ActivityOptions.makeCustomAnimation(context, 0, 0);
    Intent intent = new Intent(/* mainAcitivity's action or classname */); 
    context.startActivity(intent, options.toBundle());
    splashActivity.finish();