繁体   English   中英

Android应用启动时的白色背景

[英]White background when Android app start up

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

这是我的启动画面活动:

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);
}
}

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

<item name="android:windowBackground">@android:color/black</item>

在清单中使用此标记:

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

代替 :

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

如果要将启动画面前显示的白色屏幕更改为黑色,只需更改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>

希望这可以帮助。

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

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

在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>

现在,无论何时启动应用程序,都会出现带有启动器图标的黑屏

在styles.xml中,主题应用于SplashActivity,添加以下行

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

其中@ drawable / background是您为Splash Screen应用的背景,或者它可以是您需要的任何颜色。

暂无
暂无

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

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