Android Fragment的增加,删除,添加
静态加载:
转自:http://blog.csdn.net/ddk837239693/article/details/51433913 [html] view plain copy- <fragment
- android:name="com.example.myfragment.MyFragment"
- android:id="@+id/myfragment_1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
以上就是静态加载所用的布局,Android:name属性中是MyFragment.Java的全名,android:id中是Fragment的唯一标识(这个必须得加,否则报错,也可用android:tag属性来作唯一标识)。
[java] view plain copy
- public class MainActivity extends ActionBarActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //做一个简单的UI操作,证明静态加载时我们可以直接获取到
- //Fragment中的UI控件
- TextView tv = (TextView) findViewById(R.id.textView);
- tv.setText("床前明月光");
- }
- }
动态相关:
转自:http://blog.csdn.net/javaforandroid/article/details/41409851
1.增加:
FragmentManager fgManager = getFragmentManager();
//Activity用来管理它包含的Frament,通过getFramentManager()获取
FragmentTransaction fragmentTransaction = fgManager.beginTransaction();
//获取Framgent事务
fragmentTransaction.add(R.id.fragment, new MyFragment());
//添加 R.id.fragment,指Activity布局中的
//指定动画,可以自己添加
//如果需要,添加到back栈中
fragmentTransaction.commit();
//提交事务
2.删除
FragmentManager fgManager = getFragmentManager();
//Activity用来管理它包含的Frament,通过getFramentManager()获取
FragmentTransaction fragmentTransaction = fgManager.beginTransaction();
//获取Framgent事务
Fragment fragment = fgManager.findFragmentById(R.id.fragment);
//删除一个Fragment之前,先通过FragmentManager的findFragmemtById(),找到对应的Fragment
fragmentTransaction.remove(fragment);
//删除获取到的Fragment
//指定动画,可以自己添加
String tag = null;
fragmentTransaction.addToBackStack(tag);
//如果需要,添加到back栈中
fragmentTransaction.commit();
//提交事务
3.替换
FragmentManager fgManager = getFragmentManager();
//Activity用来管理它包含的Frament,通过getFramentManager()获取
FragmentTransaction fragmentTransaction = fgManager.beginTransaction();
//获取Framgent事务
fragmentTransaction.replace(R.id.fragment, new NewFragment());
//其实替换就是先调用remove()方法,之后再掉用add();
//指定动画,可以自己添加
//如果需要,添加到back栈中
fragmentTransaction.commit();
//提交事务
添加动画有两种:
第一种:fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
众多默认动画中的一个;
第二种:fragmentTransaction.setCustomAnimation(R.animator.slide_in_left,R.animator.slide_out_right);
添加自定义动画,第一个xml是通过事务添加到布局的Fragment,而另一个xml是被删除的Fragment;
更多相关文章
- Android播放GIF动画
- Android除了三大动画,还有哪些动画?
- 谁说Android的动画不廉价(四)之元素动画
- 谁说Android的动画不廉价(五)之水波纹动画
- Android 导入多个外部静态链接库, 进行动态库编译方法( NDK)
- Android属性动画设置中心点
- Android多种View动画:EasyAndroidAnimations
- Android之gif动画实现
- RecyclerView 实现item点击水波纹动画