public class FragmentUtils
extends java.lang.Object
author: Blankj
blog : http://blankj.com
time : 2017/1/17
desc : Fragment相关工具类
| Modifier and Type | Class and Description |
|---|---|
static interface |
FragmentUtils.OnBackClickListener |
static class |
FragmentUtils.SharedElement |
| Modifier and Type | Method and Description |
|---|---|
static android.support.v4.app.Fragment |
addFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId)
新增fragment
|
static android.support.v4.app.Fragment |
addFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isHide)
新增fragment
|
static android.support.v4.app.Fragment |
addFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isHide,
boolean isAddStack)
新增fragment
|
static android.support.v4.app.Fragment |
addFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isHide,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
新增fragment
|
static android.support.v4.app.Fragment |
addFragments(android.support.v4.app.FragmentManager fragmentManager,
java.util.List<android.support.v4.app.Fragment> fragments,
int containerId,
int showIndex)
新增多个fragment
|
static android.support.v4.app.Fragment |
addFragments(android.support.v4.app.FragmentManager fragmentManager,
java.util.List<android.support.v4.app.Fragment> fragments,
int containerId,
int showIndex,
java.util.List<FragmentUtils.SharedElement>... lists)
新增多个fragment
|
static android.support.v4.app.Fragment |
checkAddFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isHide,
boolean isAddStack)
新增fragment
|
static boolean |
dispatchBackPress(android.support.v4.app.Fragment fragment)
处理fragment回退键
|
static boolean |
dispatchBackPress(android.support.v4.app.FragmentManager fragmentManager)
处理fragment回退键
|
static android.support.v4.app.Fragment |
findFragment(android.support.v4.app.FragmentManager fragmentManager,
java.lang.Class<? extends android.support.v4.app.Fragment> fragmentClass)
查找fragment
|
static java.util.List<com.blankj.utilcode.utils.FragmentUtils.FragmentNode> |
getAllFragments(android.support.v4.app.FragmentManager fragmentManager)
获取所有fragment
|
static java.util.List<com.blankj.utilcode.utils.FragmentUtils.FragmentNode> |
getAllFragmentsInStack(android.support.v4.app.FragmentManager fragmentManager)
获取栈中所有fragment
|
static java.util.List<android.support.v4.app.Fragment> |
getFragments(android.support.v4.app.FragmentManager fragmentManager)
获取同级别fragment
|
static java.util.List<android.support.v4.app.Fragment> |
getFragmentsInStack(android.support.v4.app.FragmentManager fragmentManager)
获取栈中同级别fragment
|
static android.support.v4.app.Fragment |
getLastAddFragment(android.support.v4.app.FragmentManager fragmentManager)
获取同级别最后加入的fragment
|
static android.support.v4.app.Fragment |
getLastAddFragmentInStack(android.support.v4.app.FragmentManager fragmentManager)
获取栈中同级别最后加入的fragment
|
static android.support.v4.app.Fragment |
getPreFragment(android.support.v4.app.Fragment destFragment)
获取目标fragment的前一个fragment
|
static android.support.v4.app.Fragment |
getTopShowFragment(android.support.v4.app.FragmentManager fragmentManager)
获取顶层可见fragment
|
static android.support.v4.app.Fragment |
getTopShowFragmentInStack(android.support.v4.app.FragmentManager fragmentManager)
获取栈中顶层可见fragment
|
static android.support.v4.app.Fragment |
hideAddFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment hideFragment,
android.support.v4.app.Fragment addFragment,
int containerId,
boolean isHide,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
新增fragment
|
static android.support.v4.app.Fragment |
hideAllShowFragment(android.support.v4.app.Fragment fragment)
显示fragment
|
static android.support.v4.app.Fragment |
hideFragment(android.support.v4.app.Fragment fragment)
隐藏fragment
|
static void |
hideFragments(android.support.v4.app.FragmentManager fragmentManager)
隐藏同级别fragment
|
static android.support.v4.app.Fragment |
hideShowFragment(android.support.v4.app.Fragment hideFragment,
android.support.v4.app.Fragment showFragment)
先隐藏后显示fragment
|
static android.support.v4.app.Fragment |
popAddFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isAddStack)
先出栈后新增fragment
|
static android.support.v4.app.Fragment |
popAddFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElements)
先出栈后新增fragment
|
static void |
popAllFragments(android.support.v4.app.FragmentManager fragmentManager)
出栈所有fragment
|
static boolean |
popFragment(android.support.v4.app.FragmentManager fragmentManager)
出栈fragment
|
static void |
popFragments(android.support.v4.app.FragmentManager fragmentManager)
出栈同级别fragment
|
static boolean |
popToFragment(android.support.v4.app.FragmentManager fragmentManager,
java.lang.Class<? extends android.support.v4.app.Fragment> fragmentClass,
boolean isIncludeSelf)
出栈到指定fragment
|
static void |
removeAllFragments(android.support.v4.app.FragmentManager fragmentManager)
移除所有fragment
|
static void |
removeFragment(android.support.v4.app.Fragment fragment)
移除fragment
|
static void |
removeFragments(android.support.v4.app.FragmentManager fragmentManager)
移除同级别fragment
|
static void |
removeToFragment(android.support.v4.app.Fragment fragment,
boolean isIncludeSelf)
移除到指定fragment
|
static android.support.v4.app.Fragment |
replaceFragment(android.support.v4.app.Fragment srcFragment,
android.support.v4.app.Fragment destFragment,
boolean isAddStack)
替换fragment
|
static android.support.v4.app.Fragment |
replaceFragment(android.support.v4.app.Fragment srcFragment,
android.support.v4.app.Fragment destFragment,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
替换fragment
|
static android.support.v4.app.Fragment |
replaceFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isAddStack)
替换fragment
|
static android.support.v4.app.Fragment |
replaceFragment(android.support.v4.app.FragmentManager fragmentManager,
android.support.v4.app.Fragment fragment,
int containerId,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
替换fragment
|
static void |
setBackground(android.support.v4.app.Fragment fragment,
Drawable background)
设置背景
|
static void |
setBackgroundColor(android.support.v4.app.Fragment fragment,
int color)
设置背景色
|
static void |
setBackgroundResource(android.support.v4.app.Fragment fragment,
int resId)
设置背景资源
|
static android.support.v4.app.Fragment |
showFragment(android.support.v4.app.Fragment fragment)
显示fragment
|
public static android.support.v4.app.Fragment addFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentpublic static android.support.v4.app.Fragment addFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isHide)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisHide - 是否隐藏public static android.support.v4.app.Fragment addFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isHide,
boolean isAddStack)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisHide - 是否隐藏isAddStack - 是否入回退栈public static android.support.v4.app.Fragment addFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isHide,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisHide - 是否隐藏isAddStack - 是否入回退栈public static android.support.v4.app.Fragment checkAddFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isHide,
boolean isAddStack)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisHide - 是否隐藏isAddStack - 是否入回退栈public static android.support.v4.app.Fragment hideAddFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment hideFragment,
@NonNull
android.support.v4.app.Fragment addFragment,
@IdRes
int containerId,
boolean isHide,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
fragmentManager - fragment管理器containerId - 布局IdhideFragment - 要隐藏的fragmentaddFragment - 新增的fragmentisHide - 是否隐藏isAddStack - 是否入回退栈public static android.support.v4.app.Fragment addFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
java.util.List<android.support.v4.app.Fragment> fragments,
@IdRes
int containerId,
int showIndex)
fragmentManager - fragment管理器fragments - fragmentscontainerId - 布局IdshowIndex - 要显示的fragment索引public static android.support.v4.app.Fragment addFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
java.util.List<android.support.v4.app.Fragment> fragments,
@IdRes
int containerId,
int showIndex,
@NonNull
java.util.List<FragmentUtils.SharedElement>... lists)
fragmentManager - fragment管理器fragments - fragmentscontainerId - 布局IdshowIndex - 要显示的fragment索引public static void removeFragment(@NonNull
android.support.v4.app.Fragment fragment)
fragment - fragmentpublic static void removeToFragment(@NonNull
android.support.v4.app.Fragment fragment,
boolean isIncludeSelf)
fragment - fragmentisIncludeSelf - 是否包括Fragment类自己public static void removeFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
public static void removeAllFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
public static android.support.v4.app.Fragment replaceFragment(@NonNull
android.support.v4.app.Fragment srcFragment,
@NonNull
android.support.v4.app.Fragment destFragment,
boolean isAddStack)
srcFragment - 源fragmentdestFragment - 目标fragmentisAddStack - 是否入回退栈public static android.support.v4.app.Fragment replaceFragment(@NonNull
android.support.v4.app.Fragment srcFragment,
@NonNull
android.support.v4.app.Fragment destFragment,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
srcFragment - 源fragmentdestFragment - 目标fragmentisAddStack - 是否入回退栈sharedElement - 共享元素public static android.support.v4.app.Fragment replaceFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isAddStack)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisAddStack - 是否入回退栈public static android.support.v4.app.Fragment replaceFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElement)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisAddStack - 是否入回退栈sharedElement - 共享元素public static boolean popFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器true: 出栈成功false: 出栈失败public static boolean popToFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
java.lang.Class<? extends android.support.v4.app.Fragment> fragmentClass,
boolean isIncludeSelf)
fragmentManager - fragment管理器fragmentClass - Fragment类isIncludeSelf - 是否包括Fragment类自己true: 出栈成功false: 出栈失败public static void popFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static void popAllFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static android.support.v4.app.Fragment popAddFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isAddStack)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisAddStack - 是否入回退栈public static android.support.v4.app.Fragment popAddFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
@NonNull
android.support.v4.app.Fragment fragment,
@IdRes
int containerId,
boolean isAddStack,
FragmentUtils.SharedElement... sharedElements)
fragmentManager - fragment管理器containerId - 布局Idfragment - fragmentisAddStack - 是否入回退栈public static android.support.v4.app.Fragment hideFragment(@NonNull
android.support.v4.app.Fragment fragment)
fragment - fragmentpublic static void hideFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static android.support.v4.app.Fragment showFragment(@NonNull
android.support.v4.app.Fragment fragment)
fragment - fragmentpublic static android.support.v4.app.Fragment hideAllShowFragment(@NonNull
android.support.v4.app.Fragment fragment)
fragment - fragmentpublic static android.support.v4.app.Fragment hideShowFragment(@NonNull
android.support.v4.app.Fragment hideFragment,
@NonNull
android.support.v4.app.Fragment showFragment)
hideFragment - 需要隐藏的FragmentshowFragment - 需要显示的Fragmentpublic static android.support.v4.app.Fragment getLastAddFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static android.support.v4.app.Fragment getLastAddFragmentInStack(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static android.support.v4.app.Fragment getTopShowFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static android.support.v4.app.Fragment getTopShowFragmentInStack(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static java.util.List<android.support.v4.app.Fragment> getFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static java.util.List<android.support.v4.app.Fragment> getFragmentsInStack(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static java.util.List<com.blankj.utilcode.utils.FragmentUtils.FragmentNode> getAllFragments(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static java.util.List<com.blankj.utilcode.utils.FragmentUtils.FragmentNode> getAllFragmentsInStack(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
fragmentManager - fragment管理器public static android.support.v4.app.Fragment getPreFragment(@NonNull
android.support.v4.app.Fragment destFragment)
destFragment - 目标fragmentpublic static android.support.v4.app.Fragment findFragment(@NonNull
android.support.v4.app.FragmentManager fragmentManager,
java.lang.Class<? extends android.support.v4.app.Fragment> fragmentClass)
fragmentManager - fragment管理器fragmentClass - fragment类public static boolean dispatchBackPress(@NonNull
android.support.v4.app.Fragment fragment)
如果fragment实现了OnBackClickListener接口,返回true: 表示已消费回退键事件,反之则没消费
具体示例见FragmentActivity
fragment - fragmentpublic static boolean dispatchBackPress(@NonNull
android.support.v4.app.FragmentManager fragmentManager)
如果fragment实现了OnBackClickListener接口,返回true: 表示已消费回退键事件,反之则没消费
具体示例见FragmentActivity
fragmentManager - fragment管理器public static void setBackgroundColor(@NonNull
android.support.v4.app.Fragment fragment,
int color)
fragment - fragmentcolor - 背景色public static void setBackgroundResource(@NonNull
android.support.v4.app.Fragment fragment,
@DrawableRes
int resId)
fragment - fragmentresId - 资源Idpublic static void setBackground(@NonNull
android.support.v4.app.Fragment fragment,
Drawable background)
fragment - fragmentbackground - 背景