用Fragment填充Activity实现选项卡的功能

来源:互联网 发布:mac os x 10.11正式版 编辑:程序博客网 时间:2024/06/02 19:42

———布局——————
下面或者上面是选项按钮,,空白的地方设为FrameLayout
—————代码—————–
自定义四个类继承fragment,里面添加自己每个页面的布局OK了

import android.support.v4.app.FragmentActivity;import android.os.Bundle;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentTransaction;import android.view.View;import android.widget.FrameLayout;import yunifang.bawei.administrator.yunifang.Fragment.F1Fragment;import yunifang.bawei.administrator.yunifang.Fragment.F2Fragment;import yunifang.bawei.administrator.yunifang.Fragment.F3Fragment;import yunifang.bawei.administrator.yunifang.Fragment.F4Fragment;public class ZhuActivity extends FragmentActivity {    private FrameLayout fl;    private F1Fragment f1;    private F2Fragment f2;    private F3Fragment f3;    private F4Fragment f4;    private FragmentManager fm;    private FragmentTransaction ft;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_zhu);        //操作fragment        initFragment();    }    private void initFragment() {        f1=new F1Fragment();        f2=new F2Fragment();        f3=new F3Fragment();        f4=new F4Fragment();        //得到fm管理类        fm=getSupportFragmentManager();        //得到事物        ft = fm.beginTransaction();        ft.add(R.id.framelayout,f1).add(R.id.framelayout,f2).add(R.id.framelayout,f3).add(R.id.framelayout,f4);        ft.hide(f2).hide(f3).hide(f4);        ft.commit();    }    public void bt1(View v){         ft = fm.beginTransaction();        //开启当前,隐藏其他        ft.show(f1).hide(f2).hide(f3).hide(f4);        ft.commit();    }    public void bt2(View v){         ft = fm.beginTransaction();        //开启当前,隐藏其他        ft.show(f2).hide(f1).hide(f3).hide(f4);        ft.commit();    }    public void bt3(View v){         ft = fm.beginTransaction();        //开启当前,隐藏其他        ft.show(f3).hide(f2).hide(f1).hide(f4);        ft.commit();;    }    public void bt4(View v){         ft = fm.beginTransaction();        //开启当前,隐藏其他        ft.show(f4).hide(f2).hide(f3).hide(f1);        ft.commit();    }}
0 0
原创粉丝点击