碎片(fragment)

Fragment android碎片化管理

2015年12月29日


静态使用方式:

简单使用方式:
在布局文件(XML) 中 加入fragment标签  设置宽 高 name

在src文件夹中  新建一个Class文件, 继承自 Fragment  (app.fragment)

重写生命周期方法 :最少重写一个  OncreateView();


/**
 * 与Activity 绑定
 */

@Override
public void onAttach(Activity activity) {
    // TODO Auto-generated method stub
    super.onAttach(activity);
    logI("onAttach");
}

// Activity 开始执行Oncerat方法
@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    logI("onCreate");
}

//创建Fragment视图  通过布局填充器
public View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container, Bundle savedInstanceState) {
    logI("onCreateView");
    return inflater.inflate(R.layout.fragment1,container, false);
}
//绑定的Activity 的 oncreate方法 执行完毕
@Override
public void onActivityCreated(Bundle savedInstanceState) {

    super.onActivityCreated(savedInstanceState);
    logI("onActivityCreated");
    tv = (TextView) getView().findViewById(R.id.fragment1_tv);
    tv.setText("我在运行时就被改变了");

}

@Override
public void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    logI("onStart");
}

@Override
public void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    logI("onResume");
}

@Override
public void onPause() {
    // TODO Auto-generated method stub
    super.onPause();
    logI("onPause");
}

@Override
public void onStop() {
    // TODO Auto-generated method stub
    super.onStop();
    logI("onStop");
}

//销毁视图
@Override
public void onDestroyView() {
    // TODO Auto-generated method stub
    super.onDestroyView();
    logI("onDestroyView");
}

//准备销毁自己
@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    logI("onDestroy");
}
//与Activity 解除绑定
@Override
public void onDetach() {
    // TODO Auto-generated method stub
    super.onDetach();
    logI("onDetach");
}

动态使用方式:

步骤:1.   在布局文件中 加入FrameLayout 
     给Fragment一个空间,  用来动态的放入Fragment
    2.  在JAVA代码中 通过new 创建一个Fragment的对象
    3.  开启Fragment事物 
        1.  在android3.0以上(使用app包下的Fragment)通过getFragmentManager().beginTransaction()开启Fragment事务
        2.  在android3.0以下(使用v4包底下的fragment), 需要当前Activity继承自FragmentActivity , 然后调用getSupportFragmentManager().beginTransaction()开启Fragment事物;
    4.  提交事物 beginTransaction.commit();
    事物  常用方法:
    //add方法:绑定一个fragment到framelayout上
     两个参数 : 1.需要把参数二fragment放入哪个位置 , 2.fragment对象
    .add(R.id.act_main_framelayout, frags.get(0))

    remove 方法:从一个framelayout上移除一个fragment
    参数一: 要移除的fragment对象
    beginTransaction.remove(frags.get(0));

    hede方法: 隐藏一个fragment
    参数一: 要隐藏的fragment对象
    beginTransaction.hide(frags.get(0));

    show方法: 显示一个之前隐藏的fragment对象
    参数一: 要显示的fragment
    beginTransaction.show(frags.get(0));

    addToBackStack方法: 将当前fragment加入回退栈
    addToBackStack(null);


    最常用方法: 
    replace(R.id.act_main_framelayout, frags.get(0));
    此方法 是remove与add方法的结合 , 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值