安卓开发笔记(二十六):Splash实现首页快速开屏功能
我们在进行安卓开发的时候,首页开有两种方式,一种是利用handler将一个活动进行延时,时间到达之后软件则会跳转到第二个活动当中。而另一种方法则是更加常用的方法,利用splash实现首页的快速开屏,这种开屏方式比handler的方式传入图片的速度更快,出现白屏的时间更少,也是谷歌在2018开发者大会当中所推荐的方式。因此我们来看看这是怎么实现的。
一.MainActivity.java
这个程序是我们第一个开屏界面所需要的程序
import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.WindowManager; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//隐藏状态栏 getSupportActionBar().hide();//隐藏标题栏 setContentView(R.layout.activity_main); Thread myThread=new Thread(){//创建子线程 @Override public void run() { try{ sleep(5000);//使程序休眠五秒 Intent it=new Intent(getApplicationContext(),PrimaryColor.class);//启动MainActivity,之后将活动跳转到PrimaryColor.java startActivity(it); finish();//关闭当前活动 }catch (Exception e){ e.printStackTrace(); } } }; myThread.start();//启动线程 } }
二.同时查看AndroidMenifest.java文件为:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.lenovo.deeplove"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".PrimaryColor"></activity> </application> </manifest>
这样就实现了我们的splash快速开屏,其运行效果如下,比用handler确实快多了,我们可以清楚地看到,鼠标一点击这个软件,立马图片图片就会弹跳出来,而不会有任何的加载白屏现象发生: