如何在PopBackStack()函数上设置动画?

时间:2019-07-18 13:48:28

标签: c# xamarin.android fragment fragmentmanager

从1个片段导航到另一个片段时,我正在使用幻灯片动画。 因此,当我使用PopBackStack函数时,它从左向右移动,就像我没有回头,而是向前移动一样。我的意思是,当我向后滑动页面时,它会滑出至左侧,而“新”页面则从右侧滑入。 我要相反。向右滑出->向左滑入。

因为我无法直接将动画设置为PopBackStack,所以我尝试获取最后一个片段,并像调用新片段一样对其进行调用。

Android.Support.V4.App.FragmentTransaction fragTx = fragmentActivity.SupportFragmentManager.BeginTransaction();
                fragTx.SetCustomAnimations(inAnimation, outAnimation, inAnimation, outAnimation);
                if (addToBackStack) fragTx.AddToBackStack(null);
                fragTx.Replace(Resource.Id.MML_content_frame, fragment);
                fragTx.Commit();

因此,我尝试使用SupportFragmentManager获取后退堆栈条目, 但是尽管显示了正确的条目,但GetBackStackEntryAt函数仍返回null,因此无法从Fragment中获取名称。

if (this.Activity.SupportFragmentManager.BackStackEntryCount == 0)
{
    return null;
}
String fragmentTag = Activity.SupportFragmentManager.GetBackStackEntryAt(Activity.SupportFragmentManager.BackStackEntryCount - 1).Name;
return Activity.SupportFragmentManager.FindFragmentByTag(fragmentTag);

有人已经有相同或类似的问题吗? 是否有办法指定新动画并使用setCustomAnimations函数进行设置或直接将其设置为PopBackStack

谢谢。

0 个答案:

没有答案