专高一Day4

今天学习的是Fragment的基本使用

1.Fragment的创建

静态加载:

1.定义Fragment的xml布局

2.自定义Fragment类,需要继承Fragment类或其子类,同时实现onCreatevive()方法

在方法中,通过inflater.inflate加载布局文件,接着返回view即可

3.需要加载Fragment的Activity对应的布局文件中<fragment的name属性需要为全限定类名>

4.Activity调用setCreatentView()加载布局文件即可

创建Fragment布局

创建类继承自Fragment

重写类中必要方法

页面布局中添加fragment标签并指定name

2.Fragment的创建

1.获得FragmentManager对象

FragmentManager fragmentManager=getSupportFragmentManager();

2.开启事务

FragmentTransaction transaction = fragmentManager.beginTransaction();

3.通过FragmentTransaction 调用add()、replace()方法管理fragment

4.transaction .commit()

3.Fragment的基本使用

  1. 添加Fragment的方法:add();

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

FragmentA fragmentA=new FragmentA();

transaction.add(R.id.main_frame_layout, fragmentA);

transaction .hide(fragmentB);

transaction.show(fragmentA);

  1. 替换Fragment的方法:replace();

replace方法,用FragmentA替换FragmentB

FragmentA在被replace后被销毁onDestory()

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

FragmentA fragmentA= new FragmentA();

transaction.replace(R.id.main_frame_layout, fragmentA);

transaction.commit();

  1. 移除Fragment的方法:remove();

当FragmentB替FragmentA时,先调用remove()方法移除FragmentA,然后再调用add()方法添加FragmentB

此方法调用时,这个FragmentA将会被销毁

FragmentA fragmentA= new FragmentA();

transaction.remove(fragmentA);

transaction.show(fragmentB);

transaction.commit();

  1. 隐藏/显示Fragment的方法:hide()/show()

切换到另外一个Fragment时,使用hide()方法将当前Fragment隐藏

当该Fragment需要被重新显示出来的时候,使用show()方法完成

FragmentA fragmentA= new FragmentA();

transaction.add(R.id.main_frame_layout, fragmentA);

transaction .hide(fragmentB);

transaction.show(fragmentA);

4.FragmentManager

FragmentManager是用来管理和控制所有Fragment的类

getFragmentManager():获取管理器

beginTransaction():开启事务(获取一个秘书)

addToBackStack(): 添加到回退栈中

1:获得FragmentManager对象

FragmentManager fragmentManager=getFragmentManager();

2:开启事务

FragmentTransaction transaction = fragmentManager.beginTransaction();

3:通过FragmentTransaction 调用add()、replace()方法管理fragment

4:transaction .commit();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值