Fragment 入门


# Android3.0开始引入这个新特性。主要用于实现一个多任务的界面。
    fragement是activity的子界面,是运行在activity里面的。

# mainactivity 中的布局控件  使用帧布局

1
2
3
4
5
<FrameLayout 
         android:layout_width= "match_parent"
         android:layout_height= "match_parent"
         android:id= "@+id/fl_container" >
     </FrameLayout>

# 注意:继承fragment 要求最低版本是11 也就是3.0  fragment刚开始是为平板准备的,现在用的也越来越多

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Fragment01 extends Fragment {
     /**
      * 初始化fragment的界面 加载fragment的布局文件,显示出来 
      * inflater 布局的填充器,是用来加载布局文件的 
      * container显示fragment的父级控件 
      * savedInstanceState baocunfragment的状态
      */
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         // return super.onCreateView(inflater, container, savedInstanceState);
         // getActivity() 是得到fragment所运行在的activity对象
         // resource fragment对应的布局文件资源ID
         // root fragment界面显示的父级控件
         View view = View.inflate(getActivity(), R.layout.f01,  null );
 
         // 返回view表示把view显示在当前的activity界面上,不返回就不显示
         return  view;
                 
     }
}

 
#fragment 的显示步骤
步骤:

1.创建一个fragment的类,继承了父类Fragment;
2.创建fragment的布局文件;
3.在代码中显示fragment的子界面;

    1.在fragment的onCreateView方法中,加载布局文件,显示出来;
    2.在activity中,创建fragment对象;
    3.创建fragment管理器;
    4.通过fragment管理器得到fragment事务;
    5.调用发ragment事务的方法,显示fragment子界面;
    6.提交fragment事务;

代码:


    
    
1
2
3
4
5
6
7
8
9
10
     // 1.创建fragment01对象
     f01 =  new  Fragment01();
     // 2.得到系统的提供的fragmentManager
     fm =  this .getFragmentManager();
     // 3.得到fragment的事务,他可以保证多个fragment要么同时显示成功,要么同时显示失败
     FragmentTransaction transaction = fm.beginTransaction();
     // 4.把f01的界面显示在activity中
     transaction.replace(R.id.fl_container, f01);
     // 5.提交fragment的事务,把界面显出来
     transaction.commit();
 
注意:1.使用replace()方法是因为这里面界面相互替换,要是添加子界面就用add()方法 2.不同的业务要用不同的事务来提交,所以事务不能为成员变量 3.事务的作用:是为了保证一个界面里面显示的多个界面要么同时显示成功,要么同时显示失败

#fragment 向下兼容问题

android-support-v4.jar:是为了让高版本的api能够向下兼容,
v4就表示向下兼容到api级别为4的版本.

修改的步骤:
1.在Fragment类中,继承support-v4中的Fragment;
2.在activity中,让activity继承support-v4中的FragmentActivity;
3.在方法中,把所有与fragment相关api都是用support-v4中的api;
1
2
3
4
5
6
**1. android.support.v4.app.Fragment
**2. public class MainActivity extends FragmentActivity{}
   ****android.support.v4.app.FragmentActivity;
**3.android.support.v4.app.FragmentManager;
   **** // 得到系统的提供的fragmentManager    fm = this.getSupportFragmentManager();
       android.support.v4.app.FragmentTransaction


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值