启动画面显示在主要活动的背景上

时间:2018-12-25 19:33:12

标签: android android-studio

我已使用此guide在我的应用上设置了初始屏幕。

我的应用程序的背景是过渡色(使用动画列表每隔几秒钟就改变颜色。

显示启动屏幕后(在应用启动时),它停留在主要活动的背景中。

screenshot

这是 spalsh_screen.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@android:color/white"/>
    <item>
        <bitmap
            android:src="@drawable/talki_logo_big"
            android:gravity="center"/>
    </item>
</layer-list>

这是 animation_list.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
android:visible="true">
    <item
        android:drawable="@drawable/gradient_background_1"
        android:duration="2500" />
    <item
        android:drawable="@drawable/gradient_background_2"
        android:duration="2500" />
    <item
        android:drawable="@drawable/gradient_background_3"
        android:duration="2500" />
    <item
        android:drawable="@drawable/gradient_background_4"
        android:duration="2500" />
    <item
        android:drawable="@drawable/gradient_background_5"
        android:duration="2500" />
</animation-list>

有没有办法使启动画面消失?

谢谢! :)

2 个答案:

答案 0 :(得分:0)

尝试在清单中为启动画面活动添加属性android:noHistory="true"

值“ true”表示该活动将不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回该任务,并且可能不会在后台显示。

答案 1 :(得分:0)

您链接的tutorial中已经存在解决方案。

  

转换回普通主题的最简单方法是致电   setTheme(R.style.AppTheme)之前的super.onCreate()和   setContentView()

public class MyMainActivity extends AppCompatActivity {
 @Override
  protected void onCreate(Bundle savedInstanceState) {
    // Make sure this is before calling super.onCreate
    setTheme(R.style.Theme_MyApp);
    super.onCreate(savedInstanceState);
    // ...
  }
}

失败的原因

您已在清单中设置了AppTheme.Launcher,这为Activity提供了背景。现在,在启动“活动”之后,您需要将该主题更改为您的App主题以删除启动画面背景。