2017-11-08 22 views
1

私のxamarin androidアプリケーションでスプラッシュ画面を起動していますが、スプラッシュ画面が他のページの背景に表示され続けます。スプラッシュ画面の読み込み後の廃棄/削除

私はそれは何でもあります。

アクティビティを「完了」しようとしましたが、NoHistory = trueですが、何もバックグラウンドの他のページに表示され続けます。

はなぜ https://alexdunn.org/2017/02/07/creating-a-splash-page-for-xamarin-forms-android/

から任意のアイデアを撮影しますか?

 [Activity(Label = "MyApp", 
    Theme = "@style/MyTheme.Splash", 
    Icon = "@drawable/icon", 
    MainLauncher = true, 
    NoHistory = true, 
    ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 
    public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 
      TabLayoutResource = Resource.Layout.tabs; 
      ToolbarResource = Resource.Layout.toolbar; 

      base.OnCreate(bundle); 

      Xamarin.Forms.Forms.Init(this, bundle); 
      LoadApplication(new App(new AndroidInitializer()));  

     } 
    } 


    [Activity(
      Theme = "@style/MyTheme.Splash", 
      MainLauncher = true, 
      NoHistory = true, 
      ScreenOrientation = ScreenOrientation.Portrait)] 
     public class SplashActivity : AppCompatActivity 
     { 

      public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState) 
      { 
       base.OnCreate(savedInstanceState, persistentState); 

      } 


      protected override void OnResume() 
     { 
      base.OnResume(); 
      var startUp = new Task(() => 
      { 
      var intent = new Intent(this, typeof(MainActivity)); 
      StartActivity(intent); 
     }); 
    startUp.ContinueWith(t => Finish()); 

    startUp.Start(); 
    } 

     <style name="MyTheme.Splash" parent ="Theme.AppCompat.Light"> 
     <item name="android:windowBackground">@drawable/splash_screen</item> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
     </style> 

答えて

2

これはTheme = "@style/MyTheme.Splash"によって引き起こされます。どちらのアクティビティも同じテーマを使用します。

他のアクティビティ用に異なるテーマを作成します。

<style name="MyTheme.Main" parent ="Theme.AppCompat.Light"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

変更活動におけるテーマ:

[Activity(
    Theme = "@style/MyTheme.Main", 
    MainLauncher = true, 
    NoHistory = true, 
    ScreenOrientation = ScreenOrientation.Portrait)] 
public class SplashActivity : AppCompatActivity 
{ 

    public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState) 
    { 
     base.OnCreate(savedInstanceState, persistentState); 

    } 
} 
+0

それを試しても何の違いはありません。 – developer9969

+0

実際、それは問題のおかげです! – developer9969

0

代わりに新しいテーマを作成する別の解決策は、にISNすべての活動における親ビューのレイアウトファイル内の背景色を設定することですSplashScreenアクティビティはありません。

関連する問題