Thread.Sleep は UI がフリーズしてNGのようなので、Timer に変更した。 - 2016/06/20 更新

iOS

Xcode と同じく LaunchScreen.xib または info.plist から Launch Images を設定する。

Android

  1. drawable に使用する png または xml を用意する(ここでは splash.png, splash.xml)

    splash.xml の例

    <?xml version="1.0" encoding="UTF-8" ?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
      <shape android:shape="rectangle" >
        <solid android:color="#fefefe" />
      </shape>
    </item>
    <item>
      <bitmap
        android:gravity="center"
        android:src="@drawable/logo" >
      </bitmap>
    </item>
    </layer-list>
  2. values に style 用の xml を作成する(ここでは style.xml)

    style.xml の例

    <?xml version="1.0" encoding="UTF-8" ?>
    <resources>
    <style name="Theme.Splash" parent="android:Theme">
      <item name="android:windowBackground">@drawable/splashscreen</item>
      <item name="android:windowNoTitle">true</item>
    </style>
    </resources>
  3. スプラッシュ画面用の Activity を作成する(ここでは SplashScreenActivity.cs)

    SplashScreenActivity.cs の例

    namespace Sample.Droid
    {
      [Activity (Label = "SplashScreen", Theme = "@style/Theme.Splash", MainLauncher = true,  NoHistory = true)]            
      public class SplashActivity : Activity
      {
          protected override void OnCreate (Bundle savedInstanceState)
          {
            base.OnCreate(savedInstanceState);
            // 表示時間を5秒に設定
            // Thread.Sleep は UI がフリーズしてNG
            //Thread.Sleep(5000);
            //this.StartActivity(typeof(MainActivity));
    
            Timer timer = new Timer();
              timer.Interval = 5000;
              timer.AutoReset = false;
              timer.Elapsed += (object sender, ElapsedEventArgs e) =>
              {
                  StartActivity(typeof(MainActivity));
              };
              timer.Start();
          }
      }
    }
  4. MainActivity.cs の MainLauncher を削除または false にする

    [Activity (Label = "Sample.Droid", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]

    [Activity (Label = "Sample.Droid", Icon = "@drawable/icon", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]

Next PostPrevious Post