2017-09-27 59 views
0

我無法找出如何自動從一個屏幕導航到另一個屏幕,而無需點擊任何按鈕或執行任何操作。我想在啓動屏幕出現後立即啓動另一個屏幕。因爲我是這個工具或技術的新手。請幫忙。先謝謝你。如何在Xamarin跨平臺應用程序中自動從一個屏幕導航到另一個屏幕?

My code is:

public partial class MainPage : ContentPage 
{ 
    public MainPage() 
    { 
      InitializeComponent(); 
    } 
    protected async override void OnAppearing() 
    { 
      base.OnAppearing(); 
      await Task.Delay(5000); // Simulate a bit of startup work. 
      await this.Navigation.PushAsync(new HomePage()); 
    } 
} 

回答

0

工作和測試代碼:

protected override void OnAppearing() 
{ 
    base.OnAppearing(); 
    GoToMaster();    
} 

private async void GoToMaster() 
{ 
    await Task.Delay(5000); 
    await this.Navigation.PushAsync(new SignUpPage()); 
} 
+0

這不起作用。我在xamarin.droid文件下做了我的splash活動,並且希望它在啓動主頁活動之前顯示我在便攜部分中製作的xaml文件。 –

+0

添加像App.xaml和其他相關的代碼的細節。這對我來說工作得很好。 – Sandy

0

我做下xamarin.droid文件我潑活動,我希望它顯示我在便攜式作出的XAML文件部分在啓動主頁活動之前。

您不能跳過在MainActivity因爲它是在便攜式LIB頁面的容器,所以,如果你想在啓動畫面後重定向到您的XAML頁面,你可以SplashScreenActivity瀏覽到您的MainActivity並你的XAML文件中的MainPageApp.cs的:

public partial class App : Application 
{ 
    public App() 
    { 
     InitializeComponent(); 

     MainPage = new YourPage(); 
    } 
    .... 
} 

而在你SplashScreenActivity你需要導航到MainActivity

[Activity(Theme = "@style/MyTheme.Splash", MainLauncher = true, NoHistory = true)] 
public class SplashActivity : AppCompatActivity 
{ 
    static readonly string TAG = "X:" + typeof(SplashActivity).Name; 

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

    protected override void OnResume() 
    { 
     base.OnResume(); 
     Task startupWork = new Task(() => { SimulateStartup(); }); 
     startupWork.Start(); 
    } 

    async void SimulateStartup() 
    { 
     await Task.Delay(8000); 
     StartActivity(new Intent(Application.Context, typeof(MainActivity))); 
    } 
} 

這裏是完整的演示:SplashScreenDemo

+0

謝謝。如果我想要顯示任何圖像作爲我的啓動畫面,那麼我需要在Xamarin.android的佈局部分下製作它的axml頁面嗎?此外導航現在成功,但我無法看到我在屏幕上設計的用戶界面。它顯示一個空白屏幕。 –

+0

對於初始屏幕,您可以按照[官方文檔](https://developer.xamarin.com/guides/android/user_interface/splash-screen/#drawable)進行操作。對於空白屏幕問題,請創建一個新的線程與細節。 –

相關問題