2016-07-19 10 views
0

back」ボタンイベントが「Android phone」で押されたことを知る方法はありますか?私はゲームを終了し、Xamarin.Formsでこのボタンが押されたときに少数の機能を追加したいと思います。 私はこれについて少し調べましたが、私はXamarin.Android Backボタンに関する記事を持っていましたが、Xamarin.Formsではありません。 私はXamarin.Formsに比較的新しいですと、私はXamarin.FormsにしたいXamarinクロスプラットフォーム(Xamarin.Forms)で戻るボタンイベントを特定する方法

public override void OnBackPressed() 
{ 
    //base.OnBackPressed(); 
} 

同じことを私を助けてください。助けが必要です。

+0

可能な複製を( http://stackoverflow.com/questions/31696595/how-to-intercept-navigation-bar-back-button-clicked-in-xamarin-forms) – BytesGuy

答えて

3

「Xamarin Cross Platform」でXamarin.Formsを意味する場合は、使用できるOnBackButtonPressedイベントがあります。そのドキュメントで見られるように:

ハードウェアの戻るボタンを押したときに発生するイベント。この イベントはiOSでは発生しません。

単にあなたのNavigationPageにこのイベントをオーバーライドして、あなたが移動する準備が整いました:

protected override bool OnBackButtonPressed() 
{ 
    // Do your magic here 
    return true; 
} 

幸運!私xamarinフォームで

+0

Thanx @MarcoK、その正常に動作します。 –

1

は、マスターページを使用している場合は、現在のページのNavigationStackを見つける必要があるアプリ:[?Xamarinフォームでクリックしたナビゲーションバーの[戻る]ボタンを傍受する方法]の

public bool DoBack 
    { 
     get 
     { 
      MasterDetailPage mainPage = App.Current.MainPage as MasterDetailPage; 

      if (mainPage != null) 
      {  
       bool doBack = mainPage.Detail.Navigation.NavigationStack.Count > 1 || mainPage.IsPresented; 

       //top level of page and the Master menu isn't showing 
       if (!doBack) 
       { 
        // don't exit the app only show the Master menu page 
        mainPage.IsPresented = true; 
        return false; 
       } 
       else 
       { 
        return true; 
       }      
      } 
      return true; 
     } 
    } 
関連する問題