androidx.fragment.app.FragmentTransaction#setReorderingAllowed ( )源码实例Demo

下面列出了androidx.fragment.app.FragmentTransaction#setReorderingAllowed ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: AndroidNavigation   文件: FragmentHelper.java
public static void addFragmentToBackStack(@NonNull FragmentManager fragmentManager, int containerId, @NonNull AwesomeFragment fragment, @NonNull PresentAnimation animation) {
    if (fragmentManager.isDestroyed()) {
        return;
    }

    FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.setReorderingAllowed(true);
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
    AwesomeFragment topFragment = (AwesomeFragment) fragmentManager.findFragmentById(containerId);
    if (topFragment != null && topFragment.isAdded()) {
        topFragment.setAnimation(animation);
        transaction.setMaxLifecycle(topFragment, Lifecycle.State.STARTED);
        transaction.hide(topFragment);
    }
    fragment.setAnimation(animation);

    transaction.add(containerId, fragment, fragment.getSceneId());
    transaction.addToBackStack(fragment.getSceneId());
    transaction.commit();
    executePendingTransactionsSafe(fragmentManager);
}
 
源代码2 项目: AndroidNavigation   文件: NavigationFragment.java
private void redirectToFragmentInternal(AwesomeFragment fragment, AwesomeFragment target, boolean animated) {
    FragmentManager fragmentManager = getChildFragmentManager();

    AwesomeFragment topFragment = getTopFragment();
    if (topFragment == null) {
        return;
    }

    if (target == null) {
        target = topFragment;
    }

    AwesomeFragment aheadFragment = FragmentHelper.getAheadFragment(fragmentManager, target);

    topFragment.setAnimation(animated ? PresentAnimation.Redirect : PresentAnimation.Fade);
    if (aheadFragment != null && aheadFragment.isAdded()) {
        aheadFragment.setAnimation(animated ? PresentAnimation.Redirect : PresentAnimation.Fade);
    }

    fragmentManager.beginTransaction().setMaxLifecycle(topFragment, Lifecycle.State.STARTED).commit();

    fragmentManager.popBackStack(target.getSceneId(), FragmentManager.POP_BACK_STACK_INCLUSIVE);

    FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.setReorderingAllowed(true);
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
    if (aheadFragment != null && aheadFragment.isAdded()) {
        transaction.hide(aheadFragment);
        transaction.setMaxLifecycle(aheadFragment, Lifecycle.State.STARTED);
    }
    fragment.setAnimation(animated ? PresentAnimation.Push : PresentAnimation.None);
    transaction.add(R.id.navigation_content, fragment, fragment.getSceneId());
    transaction.addToBackStack(fragment.getSceneId());
    transaction.commit();
    FragmentHelper.executePendingTransactionsSafe(fragmentManager);
}
 
源代码3 项目: AndroidNavigation   文件: AwesomeActivity.java
protected void setRootFragmentInternal(AwesomeFragment fragment) {
    clearFragmentsInternal();
    FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.setReorderingAllowed(true);
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
    fragment.setAnimation(PresentAnimation.None);
    transaction.add(android.R.id.content, fragment, fragment.getSceneId());
    transaction.addToBackStack(fragment.getSceneId());
    transaction.commit();
    FragmentHelper.executePendingTransactionsSafe(fragmentManager);
}
 
源代码4 项目: Easy_xkcd   文件: OverviewBaseFragment.java
public void goToComic(final int number, final int position) {
    //TODO add shared elements, maybe?
    databaseManager.setRead(number, true);
    Timber.d("number: %d", number);
    ((MainActivity) getActivity()).lastComicNumber = number;
    FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
    transaction.setReorderingAllowed(true);
    TextView title = getCurrentTitleTextView(position);
    if (title != null) {
        transaction.addSharedElement(title, title.getTransitionName());
        Timber.d("selected title %s", title.getText());
    }
    ImageView thumbnail = getCurrentThumbnail(position);
    if (thumbnail != null) {
        transaction.addSharedElement(thumbnail, thumbnail.getTransitionName());
    }

    ComicFragment comicFragment;
    if (prefHelper.overviewFav()) {
        comicFragment = new FavoritesFragment();
    } else if (prefHelper.fullOfflineEnabled()) {
        comicFragment = new OfflineFragment();
    } else {
        comicFragment = new ComicBrowserFragment();
    }
    comicFragment.lastComicNumber = number;
    comicFragment.transitionPending = true;
    transaction.replace(R.id.flContent, comicFragment, MainActivity.FRAGMENT_TAG)
            .commitAllowingStateLoss();
    ((MainActivity) getActivity()).setCurrentFragment(prefHelper.overviewFav() ? MainActivity.CurrentFragment.Favorites : MainActivity.CurrentFragment.Browser);
    /*android.support.v4.app.FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
    ComicFragment fragment;
    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    int subtitle;
    if (!prefHelper.overviewFav()) {
        FavoritesFragment favorites = (FavoritesFragment) fragmentManager.findFragmentByTag(FAV_TAG);
        if (favorites != null)
            transaction.hide(favorites);
        fragment = (ComicFragment) fragmentManager.findFragmentByTag(BROWSER_TAG);
        fragment.scrollTo(number, false);
        transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left)
                .hide(fragmentManager.findFragmentByTag(OVERVIEW_TAG))
                .show(fragment)
                .commit();
        subtitle = fragment.lastComicNumber;
    } else {
        transaction
                .setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left)
                .hide(fragmentManager.findFragmentByTag(BROWSER_TAG))
                .hide(fragmentManager.findFragmentByTag(OVERVIEW_TAG));
        fragment = (FavoritesFragment) fragmentManager.findFragmentByTag(FAV_TAG);
        //int index = Arrays.binarySearch(databaseManager.getFavComicsLegacy(), number + 1);
        RealmResults<RealmComic> favorites = databaseManager.getFavComics();
        int index = 0;
        for (int i = 0; i < favorites.size(); i++) {
            if (favorites.get(i).getComicNumber() == number + 1) {
                index = i;
            }
        }
        if (fragment == null || index < 0) {
            if (index < 0) { // If the comic for some reason is in realm, but not in shared prefs, add it now
                index = -index - 1;
                databaseManager.setFavorite(number + 1, true);
            }
            fragment = new FavoritesFragment();
            transaction.add(R.id.flContent, fragment, FAV_TAG);
        } else {
            transaction.show(fragment);
            fragment.scrollTo(index, false);
        }
        fragment.favoriteIndex = index;
        subtitle = number + 1;
        transaction.commit();

        ((MainActivity) getActivity()).setCurrentFragment(MainActivity.CurrentFragment.Favorites);
        ((MainActivity) getActivity()).getSupportActionBar().setTitle(getActivity().getResources().getString(R.string.nv_favorites));
        ((MainActivity) getActivity()).getNavView().getMenu().findItem(R.id.nav_favorites).setChecked(true);
    }


    if (prefHelper.subtitleEnabled())
        ((MainActivity) getActivity()).getToolbar().setSubtitle(String.valueOf(subtitle)); */
}