android.support.v4.app.Fragment.getUserVisibleHint()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(10.1k)|赞(0)|评价(0)|浏览(159)

本文整理了Java中android.support.v4.app.Fragment.getUserVisibleHint()方法的一些代码示例,展示了Fragment.getUserVisibleHint()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Fragment.getUserVisibleHint()方法的具体详情如下:
包路径:android.support.v4.app.Fragment
类名称:Fragment
方法名:getUserVisibleHint

Fragment.getUserVisibleHint介绍

暂无

代码示例

代码示例来源:origin: square/assertj-android

public S isNotUserVisible() {
 isNotNull();
 assertThat(actual.getUserVisibleHint()) //
   .overridingErrorMessage("Expected no user visible hint but was set") //
   .isFalse();
 return myself;
}

代码示例来源:origin: square/assertj-android

public S isUserVisible() {
 isNotNull();
 assertThat(actual.getUserVisibleHint()) //
   .overridingErrorMessage("Expected user visible hint but was not set") //
   .isTrue();
 return myself;
}

代码示例来源:origin: JingYeoh/FragmentRigger

/**
   * Invoke method onLazyLoadViewCreated.Rotate3d
   */
  private void invokeOnLazyLoadViewCreated() {
    //make sure the method onLazyViewCreated will be called after onViewCreated.
    if (!mAbleLazyLoad || !mHasInitView) return;
    if (!mFragment.getUserVisibleHint()) return;
    //make sure the method onLazyViewCreated will be called only once.
    if (mHasInvokeLazyLoad) return;

    Method onLazyLoadViewCreated = null;
    try {
      onLazyLoadViewCreated = mFragment.getClass()
        .getMethod(METHOD_ON_LAZYLOAD_VIEW_CREATED, Bundle.class);
    } catch (NoSuchMethodException e) {
      Logger.e(mFragment, "can not find method " + METHOD_ON_LAZYLOAD_VIEW_CREATED);
    }
    if (onLazyLoadViewCreated == null) {
      throwException(new UnSupportException("can not find method " + METHOD_ON_LAZYLOAD_VIEW_CREATED));
    }
    try {
      onLazyLoadViewCreated.invoke(mFragment, mSavedFragmentState);
      mHasInvokeLazyLoad = true;
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

代码示例来源:origin: bmarrdev/android-DecoView-charting

private boolean createAnimation() {
  if (mInitialized) {
    createTracks();
    if (super.getUserVisibleHint()) {
      setupEvents();
    }
    return true;
  }
  return false;
}

代码示例来源:origin: iqiyi/Neptune

@Override
public boolean getUserVisibleHint() {
  if (mPluginFragment != null) {
    return mPluginFragment.getUserVisibleHint();
  }
  return super.getUserVisibleHint();
}

代码示例来源:origin: com.uphyca/android-junit4-robolectric

/**
 * @return
 * @see android.support.v4.app.Fragment#getUserVisibleHint()
 */
public boolean getUserVisibleHint() {
  return mFragment.getUserVisibleHint();
}

代码示例来源:origin: VictorAlbertos/RxGcm

boolean isVisible(Fragment fragment) {
    if (mock) return true;
    return fragment.getUserVisibleHint();
  }
}

代码示例来源:origin: chendongMarch/LightAdapter

private void lazyLoadInternal() {
  if (mFragment.getUserVisibleHint() && mIsPrepared && mCanLazyLoad) {
    mLazyLoadAction.run();
    mCanLazyLoad = false;
  }
}

代码示例来源:origin: sakurajiang/RestAPP

@Override
public void onMySensorChanged() {
  Toast.makeText(mContext,getString(R.string.shake_and_shake),Toast.LENGTH_SHORT).show();
  if(shakeMeiziFragment.getUserVisibleHint()){
    ((ShakeMeiziFragment) shakeMeiziFragment).setSubscriber(page,false);
  }
  if(shakeAndroidFragment.getUserVisibleHint()){
    ((ShakeAndroidFragment)shakeAndroidFragment).setSubscriber(page,false);
  }
  if(shakeFrontFragment.getUserVisibleHint()){
    ((ShakeFrontFragment)shakeFrontFragment).setSubscriber(page,false);
  }
}

代码示例来源:origin: baiiu/ZhihuDaily

/**
   * 判断Fragment是否处理了Back键
   *
   * @return 如果处理了back键则返回 <b>true</b>
   */
  public static boolean isFragmentBackHandled(Fragment fragment) {
    return fragment != null && fragment.isVisible() && fragment.getUserVisibleHint() //for ViewPager
        && fragment instanceof FragmentBackHandler && ((FragmentBackHandler) fragment).onBackPressed();
  }
}

代码示例来源:origin: ikidou/FragmentBackHandler

/**
   * 判断Fragment是否处理了Back键
   *
   * @return 如果处理了back键则返回 <b>true</b>
   */
  public static boolean isFragmentBackHandled(Fragment fragment) {
    return fragment != null
        && fragment.isVisible()
        && fragment.getUserVisibleHint() //for ViewPager
        && fragment instanceof FragmentBackHandler
        && ((FragmentBackHandler) fragment).onBackPressed();
  }
}

代码示例来源:origin: LemonITCN/LemonBubble4Android

/**
 * 判断制定的fragment当前是否被显示中
 *
 * @param fragment 要判断是否被显示的fragment
 * @return 是否显示的布尔值
 */
private boolean isFragmentShowing(android.support.v4.app.Fragment fragment) {
  if (!LemonBubbleGlobal.useFragmentDisplayCheck)// 没有开启Fragment显示检测
    return true;
  if (!fragment.getUserVisibleHint())// ViewPager嵌套时还没有触发显示
    return false;
  if (fragment.isHidden())// 当前fragment被隐藏了
    return false;
  if (fragment.getActivity() == null)
    return false;
  return true;
}

代码示例来源:origin: hoangkien0705/Android-UtilCode

/**
 * 处理fragment回退键
 * <p>如果fragment实现了OnBackClickListener接口,返回{@code true}: 表示已消费回退键事件,反之则没消费</p>
 * <p>具体示例见FragmentActivity</p>
 *
 * @param fragmentManager fragment管理器
 * @return 是否消费回退事件
 */
public static boolean dispatchBackPress(@NonNull FragmentManager fragmentManager) {
  List<Fragment> fragments = fragmentManager.getFragments();
  if (fragments == null || fragments.isEmpty()) return false;
  for (int i = fragments.size() - 1; i >= 0; --i) {
    Fragment fragment = fragments.get(i);
    if (fragment != null
        && fragment.isResumed()
        && fragment.isVisible()
        && fragment.getUserVisibleHint()
        && fragment instanceof OnBackClickListener
        && ((OnBackClickListener) fragment).onBackClick()) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: StannyBing/ZXUtils

/**
 * 处理fragment回退键
 * <p>如果fragment实现了OnBackClickListener接口,返回{@code true}: 表示已消费回退键事件,反之则没消费</p>
 * <p>具体示例见FragmentActivity</p>
 *
 * @param fragmentManager fragment管理器
 * @return 是否消费回退事件
 */
public static boolean dispatchBackPress(@NonNull FragmentManager fragmentManager) {
  List<Fragment> fragments = fragmentManager.getFragments();
  if (fragments == null || fragments.isEmpty()) return false;
  for (int i = fragments.size() - 1; i >= 0; --i) {
    Fragment fragment = fragments.get(i);
    if (fragment != null
        && fragment.isResumed()
        && fragment.isVisible()
        && fragment.getUserVisibleHint()
        && fragment instanceof OnBackClickListener
        && ((OnBackClickListener) fragment).onBackClick()) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: lovejjfg/Circle

@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;
}

代码示例来源:origin: 121880399/QuickMvp

/**
 * 处理fragment回退键
 * <p>如果fragment实现了OnBackClickListener接口,返回{@code true}: 表示已消费回退键事件,反之则没消费</p>
 * <p>具体示例见FragmentActivity</p>
 *
 * @param fragmentManager fragment管理器
 * @return 是否消费回退事件
 */
public static boolean dispatchBackPress(@NonNull final FragmentManager fragmentManager) {
  List<Fragment> fragments = fragmentManager.getFragments();
  if (fragments == null || fragments.isEmpty()) return false;
  for (int i = fragments.size() - 1; i >= 0; --i) {
    Fragment fragment = fragments.get(i);
    if (fragment != null
        && fragment.isResumed()
        && fragment.isVisible()
        && fragment.getUserVisibleHint()
        && fragment instanceof OnBackClickListener
        && ((OnBackClickListener) fragment).onBackClick()) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: lovejjfg/Circle

@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;
  }
}

代码示例来源:origin: 121880399/QuickMvp

/**
 * 根据栈参数获取顶层可见fragment
 *
 * @param fragmentManager fragment管理器
 * @param parentFragment  父fragment
 * @param isInStack       是否是栈中的
 * @return 栈中顶层可见fragment
 */
private static Fragment getTopShowFragmentIsInStack(@NonNull final FragmentManager fragmentManager,
                          final Fragment parentFragment,
                          final boolean isInStack) {
  List<Fragment> fragments = getFragments(fragmentManager);
  if (fragments.isEmpty()) return parentFragment;
  for (int i = fragments.size() - 1; i >= 0; --i) {
    Fragment fragment = fragments.get(i);
    if (fragment != null && fragment.isResumed() && fragment.isVisible() && fragment.getUserVisibleHint()) {
      if (isInStack) {
        if (fragment.getArguments().getBoolean(ARGS_IS_ADD_STACK)) {
          return getTopShowFragmentIsInStack(fragment.getChildFragmentManager(), fragment, true);
        }
      } else {
        return getTopShowFragmentIsInStack(fragment.getChildFragmentManager(), fragment, false);
      }
    }
  }
  return parentFragment;
}

代码示例来源:origin: StannyBing/ZXUtils

/**
 * 根据栈参数获取顶层可见fragment
 *
 * @param fragmentManager fragment管理器
 * @param parentFragment  父fragment
 * @param isInStack       是否是栈中的
 * @return 栈中顶层可见fragment
 */
private static Fragment getTopShowFragmentIsInStack(@NonNull FragmentManager fragmentManager,
                          Fragment parentFragment,
                          boolean isInStack) {
  List<Fragment> fragments = getFragments(fragmentManager);
  if (fragments.isEmpty()) return parentFragment;
  for (int i = fragments.size() - 1; i >= 0; --i) {
    Fragment fragment = fragments.get(i);
    if (fragment != null && fragment.isResumed() && fragment.isVisible() && fragment.getUserVisibleHint()) {
      if (isInStack) {
        if (fragment.getArguments().getBoolean(ARGS_IS_ADD_STACK)) {
          return getTopShowFragmentIsInStack(fragment.getChildFragmentManager(), fragment, true);
        }
      } else {
        return getTopShowFragmentIsInStack(fragment.getChildFragmentManager(), fragment, false);
      }
    }
  }
  return parentFragment;
}

代码示例来源:origin: hoangkien0705/Android-UtilCode

/**
 * 根据栈参数获取顶层可见fragment
 *
 * @param fragmentManager fragment管理器
 * @param parentFragment  父fragment
 * @param isInStack       是否是栈中的
 * @return 栈中顶层可见fragment
 */
private static Fragment getTopShowFragmentIsInStack(@NonNull FragmentManager fragmentManager,
                          Fragment parentFragment,
                          boolean isInStack) {
  List<Fragment> fragments = getFragments(fragmentManager);
  if (fragments.isEmpty()) return parentFragment;
  for (int i = fragments.size() - 1; i >= 0; --i) {
    Fragment fragment = fragments.get(i);
    if (fragment != null && fragment.isResumed() && fragment.isVisible() && fragment.getUserVisibleHint()) {
      if (isInStack) {
        if (fragment.getArguments().getBoolean(ARGS_IS_ADD_STACK)) {
          return getTopShowFragmentIsInStack(fragment.getChildFragmentManager(), fragment, true);
        }
      } else {
        return getTopShowFragmentIsInStack(fragment.getChildFragmentManager(), fragment, false);
      }
    }
  }
  return parentFragment;
}

相关文章

微信公众号

最新文章

更多

Fragment类方法