как да поставите на пауза активност, когато диалоговият прозорец е отворен в xamarin

имам анимация, която се изпълнява върху моята дейност, лого, което се върти....

извиквам функция onBackPressed(), която показва предупредителен диалогов прозорец "сигурни ли сте, че искате да излезете?" има два бутона "Да" или "Не"

.....искам активността ми да бъде поставена на пауза, така че логото да не се върти, докато диалоговият прозорец е отворен...

ето моят код

public override void OnBackPressed()
    {
        AlertDialog.Builder exit = new AlertDialog.Builder(this);
        exit.SetMessage("Are you sure You want to Exit");
        exit.SetCancelable(false);
        exit.SetPositiveButton("yes", (object sender, DialogClickEventArgs e) =>
         {
             this.Finish();
         });
        exit.SetNegativeButton("No", (object sender, DialogClickEventArgs e) =>
         {
         });
        exit.Show();}

person Junaid umar    schedule 01.06.2016    source източник


Отговори (2)


Задръжте препратка към вашата анимация и извикайте пауза върху нея, когато показвате диалоговия прозорец:

public override void OnBackPressed()
{
    AlertDialog.Builder exit = new AlertDialog.Builder(this);
    exit.SetMessage("Are you sure You want to Exit");
    exit.SetCancelable(false);
    exit.SetPositiveButton("yes", (object sender, DialogClickEventArgs e) =>
     {
         this.Finish();
     });
    exit.SetNegativeButton("No", (object sender, DialogClickEventArgs e) =>
     {
       myAnimation.resume();
     });
    myAnimation.pause();
    exit.Show();
}

Можете да използвате този добър пример/отговор, за да знаете как да поставите на пауза и възобновите анимация: https://stackoverflow.com/a/10028575/4706693 ИЛИ използвайте простата пауза и възобновяване от класа Animator, ако това е, което използвате

person NSimon    schedule 01.06.2016

Вие can't поставяте дейността на пауза, но lifecycle методът OnPause() на дейността ще бъде извикан, когато покажете своя диалогов прозорец.

Можете просто да stop/pause анимацията в OnPause() метода на вашата дейност.

person Nongthonbam Tonthoi    schedule 01.06.2016
comment
Не извиквате методи като OnPause(), android ще ги извика, когато е необходимо - person Nongthonbam Tonthoi; 01.06.2016