Java源码示例:com.blankj.utilcode.util.FragmentUtils
示例1
@Override
public void onWidgetClick(View view) {
tvAboutFragment.setText("");
switch (view.getId()) {
case R.id.btn_show_about_fragment:
tvAboutFragment.setText("lastAdd: " + FragmentUtils.getLastAddFragment(getFragmentManager()).getClass().getSimpleName()
+ "\nlastAddInStack: " + (FragmentUtils.getLastAddFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getLastAddFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\ntopShow: " + FragmentUtils.getTopShowFragment(getFragmentManager()).getClass().getSimpleName()
+ "\ntopShowInStack: " + (FragmentUtils.getTopShowFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getTopShowFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\n---all of fragments---\n"
+ FragmentUtils.getAllFragments(getFragmentManager()).toString()
+ "\n----------------------\n\n"
+ "---stack top---\n"
+ FragmentUtils.getAllFragmentsInStack(getFragmentManager()).toString()
+ "\n---stack bottom---\n\n"
);
break;
case R.id.btn_hide_show:
FragmentUtils.hideAllShowFragment(((FragmentActivity) getActivity()).rootFragment);
break;
}
}
示例2
@Override
public void initView(Bundle savedInstanceState, View view) {
Random random = new Random();
FragmentUtils.setBackgroundColor(this, Color.rgb(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
btnShowAboutFragment = (Button) view.findViewById(R.id.btn_show_about_fragment);
btnShowAboutFragment.setOnClickListener(this);
view.findViewById(R.id.btn_add_hide).setOnClickListener(this);
view.findViewById(R.id.btn_add_show).setOnClickListener(this);
view.findViewById(R.id.btn_add_child).setOnClickListener(this);
view.findViewById(R.id.btn_pop_to_root).setOnClickListener(this);
view.findViewById(R.id.btn_pop_add).setOnClickListener(this);
view.findViewById(R.id.btn_hide_show).setOnClickListener(this);
view.findViewById(R.id.btn_replace).setOnClickListener(this);
ivSharedElement = (ImageView) view.findViewById(R.id.iv_shared_element);
tvAboutFragment = (TextView) view.findViewById(R.id.tv_about_fragment);
demo0Fragment = this;
sharedElement = new FragmentUtils.SharedElement(ivSharedElement, getString(R.string.fragment_transition));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
setExitTransition(new Fade());
}
}
示例3
@Override
public void initView(Bundle savedInstanceState, View view) {
Random random = new Random();
FragmentUtils.setBackgroundColor(this, Color.rgb(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
btnShowAboutFragment = (Button) view.findViewById(R.id.btn_show_about_fragment);
btnShowAboutFragment.setOnClickListener(this);
view.findViewById(R.id.btn_add_hide).setOnClickListener(this);
view.findViewById(R.id.btn_add_show).setOnClickListener(this);
view.findViewById(R.id.btn_add_child).setOnClickListener(this);
view.findViewById(R.id.btn_pop_to_root).setOnClickListener(this);
view.findViewById(R.id.btn_pop_add).setOnClickListener(this);
view.findViewById(R.id.btn_hide_show).setOnClickListener(this);
view.findViewById(R.id.btn_replace).setOnClickListener(this);
ivSharedElement = (ImageView) view.findViewById(R.id.iv_shared_element);
tvAboutFragment = (TextView) view.findViewById(R.id.tv_about_fragment);
}
示例4
@Override
public void onWidgetClick(View view) {
tvAboutFragment.setText("");
switch (view.getId()) {
case R.id.btn_show_about_fragment:
tvAboutFragment.setText("lastAdd: " + FragmentUtils.getLastAddFragment(getFragmentManager()).getClass().getSimpleName()
+ "\nlastAddInStack: " + (FragmentUtils.getLastAddFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getLastAddFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\ntopShow: " + FragmentUtils.getTopShowFragment(getFragmentManager()).getClass().getSimpleName()
+ "\ntopShowInStack: " + (FragmentUtils.getTopShowFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getTopShowFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\n---all of fragments---\n"
+ FragmentUtils.getAllFragments(getFragmentManager()).toString()
+ "\n----------------------\n\n"
+ "---stack top---\n"
+ FragmentUtils.getAllFragmentsInStack(getFragmentManager()).toString()
+ "\n---stack bottom---\n\n"
);
break;
case R.id.btn_pop:
FragmentUtils.popFragment(getFragmentManager());
break;
}
}
示例5
/**
* 展示页面
*/
private void showPlayingFragment() {
if (isPlayFragmentShow) {
return;
}
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.fragment_slide_up, 0);
if (mDetailAudioFragment == null) {
mDetailAudioFragment = DetailAudioFragment.newInstance("Video");
ft.add(android.R.id.content, mDetailAudioFragment);
} else {
ft.show(mDetailAudioFragment);
}
ft.commitAllowingStateLoss();
isPlayFragmentShow = true;
AppLogUtils.e("fragment数量+DetailVideoActivity" + FragmentUtils.getAllFragments(getSupportFragmentManager()).size());
if (videoPlayer.isPlaying() || videoPlayer.isBufferingPlaying()) {
videoPlayer.pause();
}
//当视频正在播放,准备播放时,点击音视频切换按钮,先暂停视频,然后记录视频播放位置,show音频播放页面
//当视频已经暂停,播放错误,播放停止时,点击音视频切换按钮,直接记录视频播放位置,show音频播放页面
BaseConfig.INSTANCE.setPosition(videoPlayer.getCurrentPosition());
AppLogUtils.e("播放位置----视频页开始显示音频--" + videoPlayer.getCurrentPosition());
if (mDetailAudioFragment != null) {
mDetailAudioFragment.setViewData(BaseAppHelper.get().getMusicList().get(0));
if (getPlayService().isDefault() || getPlayService().isPausing()) {
getPlayService().seekTo((int) BaseConfig.INSTANCE.getPosition());
getPlayService().playPause();
}
}
}
示例6
@Override
public void initView(Bundle savedInstanceState, View view) {
Random random = new Random();
FragmentUtils.setBackgroundColor(this, Color.rgb(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
view.findViewById(R.id.btn_show_about_fragment).setOnClickListener(this);
view.findViewById(R.id.btn_hide_show).setOnClickListener(this);
tvAboutFragment = (TextView) view.findViewById(R.id.tv_about_fragment);
}
示例7
@Override
public void initView(Bundle savedInstanceState, View view) {
Random random = new Random();
FragmentUtils.setBackgroundColor(this, Color.rgb(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
view.findViewById(R.id.btn_show_about_fragment).setOnClickListener(this);
view.findViewById(R.id.btn_pop).setOnClickListener(this);
tvAboutFragment = (TextView) view.findViewById(R.id.tv_about_fragment);
}
示例8
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_in_fragment);
RadioGroup rbTab = findViewById(R.id.rg_tab);
RadioButton radioButton= (RadioButton) rbTab.getChildAt(0);
radioButton.setChecked(true);
mFragmentList=new ArrayList<>();
mFragmentList.add(BannerFragment.newInstance());
mFragmentList.add(BannerFragment.newInstance());
mFragmentList.add(BannerFragment.newInstance());
mFragmentList.add(BannerFragment.newInstance());
FragmentUtils.add(getSupportFragmentManager(),mFragmentList,R.id.fragment_content,0);
rbTab.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.tab_1:
FragmentUtils.showHide(0,mFragmentList);
break;
case R.id.tab_2:
FragmentUtils.showHide(1,mFragmentList);
break;
case R.id.tab_3:
FragmentUtils.showHide(2,mFragmentList);
break;
case R.id.tab_4:
FragmentUtils.showHide(3,mFragmentList);
break;
default:
break;
}
}
});
}
示例9
@Override
public void onWidgetClick(View view) {
tvAboutFragment.setText("");
switch (view.getId()) {
case R.id.btn_show_about_fragment:
tvAboutFragment.setText("lastAdd: " + FragmentUtils.getLastAddFragment(getFragmentManager()).getClass().getSimpleName()
+ "\nlastAddInStack: " + (FragmentUtils.getLastAddFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getLastAddFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\ntopShow: " + (FragmentUtils.getTopShowFragment(getFragmentManager()) != null ? FragmentUtils.getTopShowFragment(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\ntopShowInStack: " + (FragmentUtils.getTopShowFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getTopShowFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\n---all of fragments---\n"
+ FragmentUtils.getAllFragments(getFragmentManager()).toString()
+ "\n----------------------\n\n"
+ "---stack top---\n"
+ FragmentUtils.getAllFragmentsInStack(getFragmentManager()).toString()
+ "\n---stack bottom---\n\n"
);
break;
case R.id.btn_add_hide:
FragmentUtils.hideAddFragment(getFragmentManager(),
demo0Fragment,
addSharedElement(Demo1Fragment.newInstance()),
R.id.fragment_container,
false,
true,
sharedElement);
break;
case R.id.btn_add_show:
FragmentUtils.addFragment(getFragmentManager(),
addSharedElement(Demo1Fragment.newInstance()),
R.id.fragment_container,
false,
false,
sharedElement);
break;
case R.id.btn_add_child:
FragmentUtils.addFragment(getChildFragmentManager(),
Demo2Fragment.newInstance(),
R.id.child_fragment_container,
false,
true);
break;
case R.id.btn_pop_to_root:
FragmentUtils.popToFragment(getFragmentManager(),
Demo1Fragment.class,
true);
break;
case R.id.btn_pop_add:
FragmentUtils.popAddFragment(getFragmentManager(),
addSharedElement(Demo2Fragment.newInstance()),
R.id.fragment_container,
true,
sharedElement);
break;
case R.id.btn_hide_show:
Fragment fragment1 = FragmentUtils.findFragment(getFragmentManager(), Demo1Fragment.class);
if (fragment1 != null) {
FragmentUtils.hideShowFragment(this, fragment1);
} else {
ToastUtils.showLong("please add demo1 first!");
}
break;
case R.id.btn_replace:
((FragmentActivity) getActivity()).rootFragment = FragmentUtils.replaceFragment(this, addSharedElement(Demo3Fragment.newInstance()), false, sharedElement);
break;
}
}
示例10
@Override
public void onWidgetClick(View view) {
tvAboutFragment.setText("");
switch (view.getId()) {
case R.id.btn_show_about_fragment:
tvAboutFragment.setText("lastAdd: " + FragmentUtils.getLastAddFragment(getFragmentManager()).getClass().getSimpleName()
+ "\nlastAddInStack: " + (FragmentUtils.getLastAddFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getLastAddFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\ntopShow: " + FragmentUtils.getTopShowFragment(getFragmentManager()).getClass().getSimpleName()
+ "\ntopShowInStack: " + (FragmentUtils.getTopShowFragmentInStack(getFragmentManager()) != null ? FragmentUtils.getTopShowFragmentInStack(getFragmentManager()).getClass().getSimpleName() : "null")
+ "\n---all of fragments---\n"
+ FragmentUtils.getAllFragments(getFragmentManager()).toString()
+ "\n----------------------\n\n"
+ "---stack top---\n"
+ FragmentUtils.getAllFragmentsInStack(getFragmentManager()).toString()
+ "\n---stack bottom---\n\n"
);
break;
case R.id.btn_add_hide:
FragmentUtils.addFragment(getFragmentManager(), Demo1Fragment.newInstance(), R.id.fragment_container, true, true);
break;
case R.id.btn_add_show:
FragmentUtils.addFragment(getFragmentManager(), Demo1Fragment.newInstance(), R.id.fragment_container, false, true);
break;
case R.id.btn_add_child:
FragmentUtils.addFragment(getChildFragmentManager(), Demo2Fragment.newInstance(), R.id.child_fragment_container, false, true);
break;
case R.id.btn_pop_to_root:
FragmentUtils.popToFragment(getFragmentManager(), Demo1Fragment.class, true);
break;
case R.id.btn_pop_add:
FragmentUtils.popAddFragment(getFragmentManager(), Demo2Fragment.newInstance(), R.id.fragment_container, true, new FragmentUtils.SharedElement(this.btnShowAboutFragment, "btnShowAboutFragment"));
break;
case R.id.btn_hide_show:
Fragment fragment1 = FragmentUtils.findFragment(getFragmentManager(), Demo1Fragment.class);
if (fragment1 != null) {
FragmentUtils.hideShowFragment(this, fragment1);
} else {
ToastUtils.showLong("please add demo1 first!");
}
break;
case R.id.btn_replace:
Demo0Fragment demo0Fragment = Demo0Fragment.newInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
demo0Fragment.setSharedElementEnterTransition(new DetailTransition());
setExitTransition(new Fade());
demo0Fragment.setEnterTransition(new Fade());
demo0Fragment.setSharedElementReturnTransition(new DetailTransition());
}
((FragmentActivity) getActivity()).rootFragment = FragmentUtils.replaceFragment(this, demo0Fragment, false, new FragmentUtils.SharedElement(ivSharedElement, getString(R.string.fragment_transition)));
break;
}
}
示例11
@Override
public void doBusiness(Context context) {
ArrayList<Fragment> fragments = new ArrayList<>();
fragments.add(Demo0Fragment.newInstance());
rootFragment = FragmentUtils.addFragments(getSupportFragmentManager(), fragments, R.id.fragment_container, 0);
}
示例12
@Override
public void onBackPressed() {
if (!FragmentUtils.dispatchBackPress(getSupportFragmentManager())) {
super.onBackPressed();
}
}