片段怎么在Android中使用

  

片段怎么在Android中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

片段可认为是一个轻量级的活动,但不同与活动,它是要嵌到活动中来使用的,它用来解决设备屏幕大小的不同,主要是充分利用界面上的空间,如平板上多余的空间,一个活动可以插入多个片段,可以认为片段就是活动上的一个视图。

片段怎么在Android中使用“> </p> <p>本文主要介绍了关于Android中片段的基本用法,分享出来供大家参考学习、下面话不多说了,来一起看看详细的介绍吧。</p> <p> <强>一、片段管理</强> </p> <p>在活动动态加载片段<br/> </p> <p>加载片段的布局不限,并不局限于FrameLayout </p> <p>加载方法:(只有导入的片段是v4包,才有getSupportFragmentManager ()) </p> <pre类=, FragmentA  fragment =, new  FragmentA ();   .beginTransaction, getSupportFragmentManager () ()   阀门才能(R.id.XXX,片段,,“fragment")//,,.addToBackStack(“;”),//加入回退栈   .commit才能;

或者

FragmentManager  manager =, getSupportFragmentManager (),,   FragmentTransaction  transaction =, manager.beginTransaction (),,   transaction.add (R.id.fragment_container,片段,,“fragment"),,   transaction.commit ();

但是第二种方法要注意,导包须一致

import  android.support.v4.app.Fragment;   import  android.support.v4.app.FragmentManager;

而除了使用添加方法,我们也可以使用替代方法添加片段

FragmentA  fragment =, new  FragmentA ();   .beginTransaction getSupportFragmentManager () ()   ,.replace (R.id.XXX,片段,“fragment")   ,.commit ();

<强>添加和替换的区别是:

①添加是往集装箱容器里堆加片段观点;替换是将集装箱容器里之前添加的观点全部清除,然后再添加当前片段观点

一定要记住,取代清除的是集装箱的视图,而不是片段实例,删除移除的才是片段实例

②添加后期可以使用,隐藏操作,但是取代不可以,原因见①

③使用添加、回滚时,片段不会重新加载,曾经的操作痕迹还存在,使用替换回滚时,之前的片段会重新加载,原因见①

使用添加的时候还有一点需要注意的是,视图重叠的问题,记得设置背景色

添加和替换千万不要混合使用,否则会出错

在进行删除隐藏,显示之前要记得判断<代码> fragment.isAdded();下>

移除片段实例

, Fragment  Fragment =, getSupportFragmentManager () .findFragmentByTag (“fragment");   .beginTransaction, getSupportFragmentManager () ()   .remove才能(片段)   .commit才能();

隐藏片段

, Fragment  Fragment =, getSupportFragmentManager () .findFragmentByTag (“fragment");   .beginTransaction, getSupportFragmentManager () ()   hide才能(片段)   .commit才能();

显示片段

, Fragment  Fragment =, getSupportFragmentManager () .findFragmentByTag (“fragment");   .beginTransaction, getSupportFragmentManager () ()   ,,,告诉(片段)   .commit才能();

拓展:

在碎片里刷新(即从头加载片段数据,且不影响后续的回退栈)

Fragment  replaceFragment =, getActivity () .getSupportFragmentManager () .findFragmentByTag (“first_fragment");   ,,,getActivity () .getSupportFragmentManager () .beginTransaction ()   ,,,.detach (replaceFragment)   ,,,.attach (replaceFragment)   ,,,.commit ();

简单的讲,分离是销毁视图,而不是片段实例,附加是重建视图视图中,附加后的视图会位于视图最前面,具体的可以自己去查看资料

<强>二、回滚操作

最常用:依次回滚

, @Override   ,public  void  onBackPressed (), {   .getBackStackEntryCount, if  (getSupportFragmentManager () (), & lt;=, 1),{,//这里是取出我们返回栈存在片段的个数   完成才能();   {}大敌;else //取出我们返回栈保存的片段,这里会从栈顶开始弹栈   .popBackStack getSupportFragmentManager才能()();   ,}   以前,}

拓展:指定回滚

void  popBackStack(名称、String  int 旗帜);

片段怎么在Android中使用