4

当我单击应用程序图标并开始运行应用程序时,它会出现 1 秒钟的白屏。
我不知道为什么。
有没有办法清除这个白屏并直接进入我的活动?

4

9 回答 9

10

白/屏幕是窗口背景图像

onCreate()例如,当您的跑步和您的布局正在膨胀时,会显示窗口背景。这可能需要一些时间,尤其是在需要读取、解码和缩放大量位图的情况下。

更改主题有效,因为某些主题具有非默认窗口背景。例如,Theme.Wallpaper具有透明背景。那里也有其他定义。基本上你想要的是:

<style name="YourTheme">
  <item name="android:windowBackground">@null</item>
</style>

以编程方式,您可以使用

getWindow().setBackgroundDrawable(null);

在活动的顶部onCreate()

(老问题,但被另一个答案撞到了,没有一个好的答案。)

于 2014-01-15T08:23:34.797 回答
4

设置。文件>设置>构建,部署>即时运行取消选择那里显示的所有选项。

并在您的 style.xml 中添加以下行

    <item name="android:windowDisablePreview">true</item>
 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowDisablePreview">true</item>
</style>
apply changes in AndroidMainfest.xml
 <application
        android:theme="@style/AppTheme">
于 2016-06-27T13:09:31.537 回答
3

在我更改 style.xml 之后:

<resources>

    <style name="AppTheme" parent="android:Theme.Wallpaper" />

</resources>

有用!!谢谢大家

于 2012-09-27T04:51:10.117 回答
1

在对应activity的manifest文件中添加如下

 android:launchMode="standard"

并从相应的活动中删除 android:label="@string/app_name" ,这实际上帮助了我

于 2014-09-10T06:25:49.357 回答
0

在您的manifest.xml文件中删除android:theme="@style/AppTheme"您的应用程序的行。并再次检查

于 2012-09-27T03:10:50.913 回答
0

在清单中使用此标记:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
于 2014-05-16T05:02:07.593 回答
0

在此处输入图像描述 就像你管..最初他们显示图标屏幕而不是白屏。并在 2 秒后显示主屏幕。

首先在 res/drawable 中创建一个 XML drawable。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:drawable="@color/gray"/>

    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/ic_launcher"/>
    </item>

</layer-list>

接下来,您将在主题中将其设置为启动活动的背景。导航到您的 styles.xml 文件并为您的启动活动添加一个新主题

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

    <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowBackground">@drawable/background_splash</item>
    </style>

</resources>

在新的 SplashTheme 中,将窗口背景属性设置为 XML 可绘制对象。在 AndroidManifest.xml 中将其配置为启动活动的主题:

<activity
    android:name=".SplashActivity"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

这个链接给出了你想要的。一步一步的程序。 https://www.bignerdranch.com/blog/splash-screens-the-right-way/

于 2016-11-08T08:58:14.387 回答
0

只需在 AndroidManifest.xml 文件中提及启动活动的透明主题即可。

喜欢:

<activity
    android:name="first Activity Name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
于 2016-02-11T09:02:16.253 回答
0

在 Styles 中添加以下内容

    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsTranslucent">true</item>

希望这会帮助你和它为我工作

于 2019-06-12T08:02:41.430 回答