Xamarin.Android 啟動頁
阿新 • • 發佈:2018-11-21
開啟軟體的時候相當慢,會有白屏顯示,這樣的使用者體驗效果不好,所以需要增加一個啟動頁來過渡。步驟如下:
第一步:根據自己需求找到一個png圖片,用於啟動展示,放在Drawable 資料夾下,我這裡命名為Loading.png。
第二步:在Drawable 資料夾下建立 splashscreen.xml,用於展示Loading.png。
<?xml version="1.0" encoding="utf-8" ?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/loading"android:gravity="fill" android:layout_gravity="center"/>
第三步:在Values資料夾下新增 Styles.xml,自定義顯示主題。
<?xml version="1.0" encoding="utf-8" ?> <resources> <style name="Theme.Splash" parent="android:Theme.Holo.Light"> <item name="android:windowBackground">@drawable/loadingscreen</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsTranslucent">false</item> <item name="android:windowIsFloating">false</item> <item name="android:backgroundDimEnabled">true</item> </style> </resources>
第四步:建立一個LoadingScreen.cs類,其作用是程式開啟第一個呼叫的Activity
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Android.App; using Android.Content; using Android.OS; using Android.Runtime; using Android.Views; using Android.Widget; using Android.Content.PM; namespace App1 { [Activity(MainLauncher = true, NoHistory = true, Theme = "@style/Theme.Splash", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] public class SplashScreen : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); var intent = new Intent(this, typeof(MainActivity)); StartActivity(intent); Finish(); } } }
第五步:去掉MainActivity.cs類中的“MainLauncher = true”。