Android项目启动时短暂的黑屏白屏处理

刚从csdn转战51,这是在51写的第一篇博客

那么我们来谈谈这样一个问题。当你的项目需要用的欢迎界面有时候会出现短暂的黑屏或白屏,这样用户体验就不好了,所以今天教教大家如何处理这种问题。

其实,黑屏或者白屏是因为程序还没有加载布局就已经显示window窗口背景,而黑屏或者白屏就是window窗口背景。那么如何处理呢?看下面...

public class LoadingActivity extends AppCompatActivity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
  
        /*还没有加载布局是睡眠1秒,确保黑屏或白屏效果明显*/  
        try {  
            Thread.sleep(1000);  
        } catch (InterruptedException e) {  
            e.printStackTrace();  
        }  
  
        setContentView(R.layout.activity_loading);  
  
        /*欢迎页面停留2秒并跳转MainActivity*/  
        new Thread(){  
            @Override  
            public void run(){  
                try {  
                    Thread.sleep(2000);  
                } catch (InterruptedException e) {  
                    e.printStackTrace();  
                }  
                startActivity(new Intent(LoadingActivity.this,MainActivity.class));  
                finish();  
            }  
        }.start();  
    }  
}

以上的代码都是在LoadingActivity里写的下面才是重点

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    package="com.lg.emptydemo">  
  
    <application  
        android:allowBackup="true"  
        android:icon="@mipmap/ic_launcher"  
        android:label="@string/app_name"  
        android:supportsRtl="true"  
        android:theme="@style/AppTheme">  
        <activity android:name=".LoadingActivity"  
            android:theme="@style/FullTheme">  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
        <activity android:name=".MainActivity"  
            android:theme="@style/AppTheme">  
        </activity>  
    </application>  
  
</manifest>

在AndroidManifest.xml中设置LoadingActivity的风格

<style name="FullTheme" parent="AppTheme">  
        <item name="windowActionBar">false</item>  
        <item name="android:windowBackground">@drawable/img_frame_background</item>  
        <item name="windowNoTitle">true</item>  
        <item name="android:windowFullscreen">true</item>  
        <item name="android:windowContentOverlay">@null</item>  
</style>

android:windowBackground属性设置窗口背景,把它设置成和欢迎界面一样的就大功告成了

源码地址:http://down.51cto.com/data/2221953

时间: 2024-12-17 18:58:20

Android项目启动时短暂的黑屏白屏处理的相关文章

Android 启动APP时黑屏白屏的三个解决方案

你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单,简历一个简单的例子就可以理解了. 其实,黑屏或者白屏这里并不是不正常,而是还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景.代码如下,可以自己写个小demo就理解了. @Override protected void onCreate(Bundle saved

Android 启动APP时黑屏白屏的三个解决方案(转载)

你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下.这里先了解一下为什么会出现这样的现象,其实很简单,简历一个简单的例子就可以理解了. 其实,黑屏或者白屏这里并不是不正常,而是还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景.代码如下,可以自己写个小demo就理解了. 1 2 3 4 5 6 7 8 9 10 11 12 @Override protected

Android App 启动时显示正在加载图片(源码)

微信.QQ.天天动听等程序,在打开时显示了一张图片,然后跳转到相关界面.本文实现这个功能,其实很简单.... 新建两个Activity,LoadingActivity,MainActivity,将LoadingActivity设置为android.intent.action.MAIN.使用TimerTesk,或者Thread将LoadingActivity显示几秒后跳转到MainActivity界面. LoadingActivity: new Timer().schedule(new Timer

web项目启动时,执行某个方法

1.监听(Listener) web文件添加 <listener> <listener-class>cn.ro.common.InitListener</listener-class> </listener> 添加InitListener类,如下 package cn.ro.common; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener

在web项目启动时,执行某个方法

在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 在工作中遇到了项目初始数据需要跟其他项目同步的问题,也就是说在项目部署后,启动的时候就要同步另外一个项目的数据,这里写了个简单的实例,用的是监听器机制,创建一个类实现ServletContextListener 接口,实现里面的contextInitialized和contextDestroyed方法. pac

在web项目启动时,使用监听器来执行某个方法

在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 这里写了个简单的实例,用的是监听器机制,创建一个类实现ServletContextListener 接口,实现里面的contextInitialized和contextDestroyed方法. 1 package com.test.listener; 2 3 import javax.servlet.Servl

用实现ApplicationListener来实现项目启动时运行某些程序的注意事项

起初在网上搜索在项目启动时运行某些程序时,看到其中有用实现ApplicationListener来做的一种方法,当时没有直接复制他们的代码,而是手动写的.如下: package com.han.listener; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.context.ApplicationListener; import org.springframework.co

javaweb项目启动时自动启动rmi服务器实例

1.我们先写一个web项目启动时需要运行的类RmiRegisterServlet.java package com.mx.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import com.mx.framework.daoimpl.RMIServerDAOImpl; @SuppressWarning

SpringMVC——项目启动时从数据库查询数据

SpringMVC项目中遇到这样的问题: 1.很多数据字典需要从数据库中查询: 2.懒得修改SQL语句: 3.想在项目中声明静态变量存储数据字典,但是希望这个字典可以在项目启动时进行加载. 当遇到这样的问题时,可以通过实现org.springframework.beans.factory.InitializingBean接口进行实现这一功能. 只需要实现afterPropertiesSet()方法就将在项目扫描完注解时调用这一方法,在这个方法内调用数据库查询的方法,查出所有数据字典,并保存在静态