当前位置: 首页 > 知识库问答 >
问题:

应用启动时的白色屏幕-启动屏幕[重复]

谯乐池
2023-03-14

我使用一个空活动为我的应用程序创建了一个启动屏幕,该活动在背景图像中保持可见3秒钟。通常,应用程序在背景图像变为可见之前以白色屏幕启动,然而,有些应用程序已经以“真实”的初始屏幕图像启动。如何实现这一点?

共有3个答案

佴博实
2023-03-14

飞溅活动通常从背景开始。试试这个代码,它可能对你有帮助。

启动活动页面的代码。

public class SplashScreen extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash_screen);

Thread myThread = new Thread(){

    @Override
    public void run() {
        try {
            sleep(3000);
            Intent intent = new Intent(getApplicationContext(),MainActivity.class);
            startActivity(intent);
            finish();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
};
    myThread.start();
}}

在布局文件中,您只需要包含希望在初始页面上看到的图像。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_splash_screen"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000">
   <ImageView
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:src="@drawable/capture"
       />
</RelativeLayout>

并确保在清单中的主要活动之前添加Splashscreen页面。

 <activity android:name=".SplashScreen">
瞿兴朝
2023-03-14

问题是因为系统进程在启动应用程序时绘制初始空白屏幕,从留档:

实现主题启动屏幕的常见方法是使用windowDisablePreview主题属性关闭系统进程在启动应用时绘制的初始空白屏幕。然而,这种方法可能会导致比不抑制预览窗口的应用程序更长的启动时间。此外,它迫使用户在没有反馈的情况下等待活动启动,这让他们怀疑应用程序是否正常运行。

您可以使用windowDisablePreview属性禁用它,如下所示:

  <application
      ...
      android:windowDisablePreview="true">
   ...
  </application>
巫马安怡
2023-03-14

你可以用这种方式使用闪屏。

>

  • 为styles.xml中的闪屏活动添加样式

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

    将该样式作为主题添加到清单文件中的SplashScreenActivity中

    <activity android:name=".SplashScreenActivity"
        android:theme="@style/SplashTheme"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
    
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    

    删除SplashScreenActive的onCreate()方法中的setContentView(),并将其用作扩展AppCompactActive的java文件

  •  类似资料:
    • 我已经创建了一个初始屏幕,它一开始工作得很好,但之后,它会向我显示一个白色空白屏幕,而不是我的初始屏幕图像文件。我不知道为什么会发生这种情况。 我试图改变我的风格.xml父主题,但有些主题使我的应用程序崩溃,只有主题.AppCompat.Light.NoActionBar可以工作,并给我一个空白的白屏。 styles.xml 飞溅.java 屏幕序列、线程Hibernate时间和其他一切都正常工作

    • 我有一个android应用程序,启动时会显示2秒钟的白色屏幕。我的其他应用程序不能做到这一点,但这一个可以做到。我还实现了一个splashscreen,希望它能解决这个问题。我应该增加闪屏睡眠时间吗?谢谢

    • 众所周知,许多Android应用程序在其第一个进入焦点之前会短暂地显示一个白色屏幕。在以下情况下会出现此问题: > 在启动屏幕前显示默认预览窗口的Android应用程序。 设置显然在这里不起作用。也不能将闪屏的父主题设置为如这里所述,因为[不幸地]我的闪屏使用了一个。 同时,不扩展类的应用程序在启动时不会显示白色屏幕。 问题是,理想情况下,对象中执行的初始化需要在显示第一个之前进行。因此,我的问题

    • 我的有问题,当我在手机上启动应用程序时,它会显示约0.5秒的白色屏幕。扩展了,在中,我声明为启动器,肖像模式为。 代码: XML:

    • 当我启动我的应用程序时,我会看到一个白色的屏幕,几秒钟后就会出现闪屏。 我想知道我的应用程序的大小是否会影响它(它是17.7MB)。或者是因为我的测试机是旧的(HTC欲望高清),有点垃圾与太多的数据? 还是正常行为?或者问题在我的代码里,在下面... 舱单的一部分: 飞溅活动: 谢谢

    • 我是swift和Xcode新手,我想知道是否有人愿意向我解释,我应该如何让我的启动屏幕显示3秒钟,然后在这段时间内稍微淡出? 我想做一个我以前构建的网页的web视图,但希望它在启动屏幕之前淡出。 我已经阅读了所有其他与该主题相关的问题,但我不理解它们。我也一直在关注一些关于这个主题的教程,但什么都没有。 有人吗,拜托?