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
- 背景