16

每次我的应用程序启动时,都会在短时间内显示白色背景。尽管使用了启动画面,但问题仍然存在。我想将启动屏幕默认设置为黑色而不是白色!

这是我的启动画面活动:

public class SplashActivity extends Activity {

private static String TAG = SplashActivity.class.getName();
private static long SLEEP_TIME = 1;    // Sleep for some time

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);    // Removes title bar
    setContentView(R.layout.splash);

    // Start timer and launch main activity
    IntentLauncher launcher = new IntentLauncher();
    launcher.start();
}

private class IntentLauncher extends Thread {

    /**
      * Sleep for some time and than start new activity.
      */ 
    @Override
    public void run() {
        try {
            // Sleeping
            Thread.sleep(SLEEP_TIME*1000);
        } catch (Exception e) {
            Log.e(TAG, e.getMessage());
        }

        // Start main activity
        Intent intent = new Intent(SplashActivity.this, MainActivity.class);
        SplashActivity.this.startActivity(intent);
        SplashActivity.this.finish();
    }

}

@Override
protected void onPause() {
    super.onPause();
    overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
}
}
4

7 回答 7

31

在 style.xml 中,在您的 AndroidManifest.xml 中指定的主题中,添加以下行:

<item name="android:windowBackground">@android:color/black</item>
于 2016-01-16T12:00:44.020 回答
11

在清单中使用此标记:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

代替 :

this.requestWindowFeature(Window.FEATURE_NO_TITLE);
于 2013-11-02T04:19:28.273 回答
6

在drawable文件夹中,创建自己的starting_screen.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <!-- black background -->
            <solid android:color="@color/colorBlack" />
        </shape>
    </item>
    <!-- launcher icon -->
    <item android:drawable="@mipmap/ic_launcher_foreground" android:height="150dp" android:width="150dp" android:gravity="center" />
</layer-list>

然后将其添加到您的样式中

<item name="android:windowBackground">@drawable/starting_screen</item>

现在,每当您启动应用程序时,都会出现带有启动器图标的黑屏

于 2019-01-29T10:29:22.310 回答
4

如果您想将初始屏幕之前出现的白屏更改为黑色,只需更改 SplashActivity 的主题,而不是整个应用程序。

你可以使用这个:

<activity
    android:name="your.package.SplashActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
       <intent-filter>
           <action android:name="android.intent.action.MAIN" />
           <category android:name="android.intent.category.LAUNCHER" />
       </intent-filter>
</activity>

希望这可以帮助。

于 2014-07-09T10:58:30.320 回答
2

您可以使用自定义主题更改起始窗口背景颜色。有关示例,请参见样式和主题。

于 2013-11-02T04:38:22.487 回答
1

在为SplashActivity申请的主题styles.xml中,添加以下行

<item name="android:windowBackground">@drawable/background</item>

其中@drawable/background 是您为启动画面应用的背景,也可以是您需要的任何颜色。

于 2019-05-31T13:49:45.043 回答
0

当您的活动开始时,您已经设置了 splash.xml。更改它,将父背景更改为黑色或您想要的任何颜色。它会起作用,或者将 splash.xml 主题更改为 holo_dark 或任何其他主题

于 2013-11-02T08:14:46.003 回答