android.support.v4.app.Fragment#isHidden ( )源码实例Demo

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

源代码1 项目: FragmentRigger   文件: SwipeLayout.java
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    if (!mIsEnable || canSwipe(SwipeEdge.NONE)) return super.onInterceptTouchEvent(event);
    try {
        Fragment preFragment = getPreFragment();
        if (preFragment == null && mStickyWithHost) {
            return mDragHelper.shouldInterceptTouchEvent(event);
        }
        Fragment topFragment = getTopFragment();
        if (topFragment != null) {
            boolean ableSwipeBack = Rigger.getRigger(topFragment).isAbleSwipeBack();
            if (ableSwipeBack && topFragment.getView() != null && !topFragment.isHidden()) {
                return false;
            }
        }
        return mDragHelper.shouldInterceptTouchEvent(event);
    } catch (Exception ignored) {
        ignored.printStackTrace();
    }
    return false;
}
 
源代码2 项目: FragmentRigger   文件: _Rigger.java
@Override
public void showFragment(@NonNull Fragment fragment, @IdRes int containerViewId, boolean showRepeatAnim) {
    String fragmentTAG = Rigger.getRigger(fragment).getFragmentTAG();
    if (mStackManager.add(fragmentTAG, containerViewId)) {
        addFragmentWithAnim(fragment, containerViewId);
    }
    String[] fragmentTags = mStackManager.getFragmentTags(containerViewId);
    for (String tag : fragmentTags) {
        Fragment hideFrag = mRiggerTransaction.find(tag);
        if (hideFrag == null) continue;
        hideFrag.setUserVisibleHint(false);
    }
    fragment.setUserVisibleHint(true);
    boolean hidden = fragment.isHidden();
    boolean added = fragment.isAdded();
    if (!added || hidden || showRepeatAnim) {
        mRiggerTransaction.hide(getVisibleFragmentTags(containerViewId));
        showFragmentWithAnim(fragment);
    }
    mRiggerTransaction.commit();
}
 
源代码3 项目: CoreModule   文件: Main2Activity.java
/**
 * 用Fragment替换内容区
 *
 * @param targetFragment 用来替换的Fragment
 */
public void changeFragment(Fragment targetFragment) {
    if (targetFragment.equals(currentFragment)) {
        return;
    }
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    if (!targetFragment.isAdded()) {
        transaction.add(R.id.main_body, targetFragment, targetFragment.getClass()
                .getName());
    }
    if (targetFragment.isHidden()) {
        transaction.show(targetFragment);
    }
    if (currentFragment != null && currentFragment.isVisible()) {
        transaction.hide(currentFragment);
    }
    currentFragment = targetFragment;
    transaction.commit();
}
 
源代码4 项目: LLApp   文件: TabStripView.java
private boolean isFragmentShown(FragmentTransaction transaction, String newTag) {
        if (TextUtils.equals(newTag, mCurrentTag)) {
            return true;
        }

        if (TextUtils.isEmpty(mCurrentTag)) {
            return false;
        }

//        Fragment fragment = mFragmentActivity.getFragmentManager().findFragmentByTag(mCurrentTag);
        Fragment fragment = mFragmentActivity.getSupportFragmentManager().findFragmentByTag(mCurrentTag);
        if (fragment != null && !fragment.isHidden()) {
            transaction.hide(fragment);
        }

        return false;
    }
 
源代码5 项目: LLApp   文件: TabStripView.java
private void hideAllFragment() {
        if (mViewHolderList == null || mViewHolderList.size() == 0) {
            return;
        }
//        FragmentTransaction transaction = mFragmentActivity.getFragmentManager().beginTransaction();
        FragmentTransaction transaction = mFragmentActivity.getSupportFragmentManager().beginTransaction();

        for (ViewHolder holder : mViewHolderList) {
//            Fragment fragment = mFragmentActivity.getFragmentManager().findFragmentByTag(holder.tag);
            Fragment fragment = mFragmentActivity.getSupportFragmentManager().findFragmentByTag(holder.tag);
            if (fragment != null && !fragment.isHidden()) {
                transaction.hide(fragment);
            }
        }
        transaction.commit();
    }
 
源代码6 项目: MyBlogDemo   文件: ShakeHelper.java
@Nullable
private List<Fragment> getSupportTopFragments() {
    if (manager == null) {
        return null;
    }
    List<Fragment> fragments = manager.getFragments();
    List<Fragment> topFragments = new ArrayList<>();
    if (fragments == null) {
        return null;
    }
    int size = fragments.size();
    for (int i = size - 1; i >= 0; i--) {
        Fragment f = fragments.get(i);
        if (f.isAdded() && !f.isHidden() && f.getUserVisibleHint()) {
            Fragment t = getSupportTopFragment(f.getChildFragmentManager());//递归
            if (t != null) {
                topFragments.add(t);
            } else {
                topFragments.add(f);
            }
        }

    }
    return topFragments;
}
 
源代码7 项目: MyBlogDemo   文件: ShakeHelper.java
@Nullable
private Fragment getSupportTopFragment(FragmentManager manager) {
    List<Fragment> fragments = manager.getFragments();
    if (fragments == null) {
        return null;
    }
    int size = fragments.size();
    for (int i = size - 1; i >= 0; i--) {
        Fragment f = fragments.get(i);
        if (f.isAdded() && !f.isHidden() && f.getUserVisibleHint()) {
            Fragment tTopFragment = getSupportTopFragment(f.getChildFragmentManager());
            return tTopFragment == null ? f : tTopFragment;
        }
    }
    return null;
}
 
源代码8 项目: ListBuddies   文件: MainActivity.java
private void manageFragment(Fragment newInstanceFragment, FragmentTags tag, boolean addToBackStack) {
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    Fragment currentIntanceFragment = findFragmentByTag(tag);
    if (currentIntanceFragment == null || (currentIntanceFragment != null && currentIntanceFragment.isHidden())) {
        if (currentIntanceFragment != null) {
            ft.show(currentIntanceFragment);
        } else {
            currentIntanceFragment = newInstanceFragment;
            ft.add(R.id.container, currentIntanceFragment, tag.toString());
            if (addToBackStack) {
                ft.addToBackStack(null);
            }
        }
    } else {
        ft.hide(currentIntanceFragment);
        fm.popBackStack();
    }
    ft.commit();
}
 
源代码9 项目: tysq-android   文件: FragmentCompat.java
/**
 * @date 创建时间 2018/4/22
 * @author a2
 * @Description 是否是当前fragment
 * @version
 */
public static boolean isCurrent(FragmentManager fragmentManager, Fragment currentPage) {
    List<Fragment> fragments = fragmentManager.getFragments();
    if (fragments != null && fragments.size() > 0) {
        for (Fragment fragment : fragments) {
            if (fragment != null && !fragment.isHidden() && fragment == currentPage) {
                return true;
            }
        }
    }

    return false;
}
 
源代码10 项目: Tracker   文件: FragmentLifecycleListener.java
@Override
public void onFragmentResumed(@NonNull FragmentManager fm, @NonNull Fragment f) {
	super.onFragmentResumed(fm, f);
	if (!f.isHidden() && f.getUserVisibleHint()) {
		onVisibleChanged(f, true);
	}
	LogUtil.i(f.getClass().getSimpleName() + " onFragmentResumed");
}
 
源代码11 项目: Tracker   文件: FragmentLifecycleListener.java
@Override
public void onFragmentPaused(@NonNull FragmentManager fm, @NonNull Fragment f) {
	super.onFragmentPaused(fm, f);
	if (!f.isHidden() && f.getUserVisibleHint()) {
		onVisibleChanged(f, false);
	}
	// 解决viewpager中fragment切换时事件统计失效的问题
	eventTrackerMap.put(f, false);
	LogUtil.i(f.getClass().getSimpleName() + " onFragmentPaused");
}
 
源代码12 项目: FragmentRigger   文件: ShowFragment.java
private void showFragment(int position) {
  Fragment fragment = Rigger.getRigger(this).findFragmentByTag(mFragmentTags.get(position));
  Rigger.getRigger(this).showFragment(mFragmentTags.get(position), false);
  if (position == 2) return;
  if (fragment.isHidden()) {
    Rigger.getRigger(this).showFragment(mFragmentTags.get(position));
  } else {
    Rigger.getRigger(this).showFragment(mContainerTags.get(position));
  }
}
 
源代码13 项目: FragmentRigger   文件: _Rigger.java
/**
 * Return fragments tag which the fragment's view is visible and is add onto the container view.
 *
 * @param containerViewId The container view's id to be found.
 *
 * @return The fragment tags.
 */
private String[] getVisibleFragmentTags(@IdRes int containerViewId) {
    List<String> result = new ArrayList<>();
    String[] fragmentTags = mStackManager.getFragmentTags(containerViewId);
    for (String tag : fragmentTags) {
        Fragment fragment = mRiggerTransaction.find(tag);
        if (fragment != null && !fragment.isHidden() &&
                fragment.getView() != null && fragment.getView().getVisibility() == View.VISIBLE) {
            result.add(tag);
        }
    }
    return result.toArray(new String[result.size()]);
}
 
源代码14 项目: ForPDA   文件: TabManager.java
private void hideTabs(FragmentTransaction transaction) {
    for (Fragment fragment : existingFragments) {
        if (fragment != null && !fragment.isHidden()) {
            transaction.hide(fragment);
            fragment.onPause();
        }
    }
}
 
源代码15 项目: Yuan-WanAndroid   文件: AbstractLazyLoadFragment.java
/**
 * 当前Fragment是否可见
 */
private boolean isFragmentVisible(Fragment fragment) {
    return !fragment.isHidden() && fragment.getUserVisibleHint();
}
 
源代码16 项目: Yuan-SxMusic   文件: BaseLazyFragment.java
private boolean isFragmentVisible(Fragment fragment){
    return fragment.getUserVisibleHint()&&!fragment.isHidden();
}