예제 #1
0
        static void PerformDismiss(bool removeCurrent = true)
        {
            if (currrentDialog == null)
            {
                return;
            }
            var transaction = FragmentManager.BeginTransaction();

            if (removeCurrent)
            {
                transaction.Remove(currrentDialog);
                transaction.AddToBackStack(null);
            }

            currentDialogs.Remove(currrentDialog.HView);
            currrentDialog = null;
            var currentView = currentDialogs.LastOrDefault();

            if (currentView == null)
            {
                transaction.CommitAllowingStateLoss();
                return;
            }

            currrentDialog = new ViewModal(currentView);
            currrentDialog.Show(transaction, "dialog");
        }
예제 #2
0
        public static void ShowModal(View view)
        {
            var transaction = FragmentManager.BeginTransaction();

            if (currrentDialog != null)
            {
                transaction.Remove(currrentDialog);
            }
            transaction.AddToBackStack(null);

            var dialog = new ViewModal(view);

            currentDialogs.Add(dialog.HView);
            currrentDialog = dialog;
            dialog.Show(transaction, "dialog");
        }