我們在進行安卓開發的時候,首頁開有兩種方式,一種是利用handler將一個活動進行延時,時間到達之後軟體則會跳轉到第二個活動當中。而另一種方法則是更加常用的方法,利用splash實現首頁的快速開屏,這種開屏方式比handler的方式傳入圖片的速度更快,出現白屏的時間更少,也是谷歌在2018開發者大會 ...
我們在進行安卓開發的時候,首頁開有兩種方式,一種是利用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確實快多了,我們可以清楚地看到,滑鼠一點擊這個軟體,立馬圖片圖片就會彈跳出來,而不會有任何的載入白屏現象發生: