关于Fragment的用法

来源:互联网 发布:2016年各项数据 编辑:程序博客网 时间:2024/05/22 04:51

   Fragment,汉语解释为碎片,它实际上可以看作是Activity的一部分~

   在这里,总结一下Fragment的几种最常见的用法(其实只是最近我用到过的啦,不全面的以后更新补充,嘻嘻)。

一.  ViewPager+Fragment+RadioGroup 实现联动滑屏,具体的效果类似于微信主界面的滑动

    1.新写xml,效果为自己的Fragment内想要加载的View界面效果。

    2.新写类,继承自Fragment, 重写onCreateView 方法,返回值是自己定义的xml界面,具体操作如下:

    

@Override      public View onCreateView(LayoutInflater inflater, ViewGroup container,              Bundle savedInstanceState) {          View view = inflater.inflate(R.layout.angfragment, null);          return view;

  其中,R.layout.angfragment,便是我写的xml,这样的Fragment可以写任意多个,实现自己的使用 

   3.将Fragment放入ViewPager中去 


   1)自定义MyFragmentPagerAdapter继承自FragmentPagerAdapter

 public MyFragmentPagerAdapter(FragmentManager fm) {              super(fm);              // TODO Auto-generated constructor stub          }                //滑动的过程中呈现的Fragment的确定      @Override      public Fragment getItem(int arg0) {          Fragment fragment = null;          switch (arg0) {          case 0:              fragment = new FragmnetFirst();              break;          case 1:              fragment = new FragmentSecond();              break;          case 2:              fragment = new FragmentThird();              break;            }          return fragment;      }                //滑动的过程中可以呈现Fragment的个数      @Override      public int getCount() {          return 3;      }    }  

  2)得到Adapter对象,并为ViewPager设置Adapter (一定记得此时的Activity应该继承自FragmentActivity)

    MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getSupportFragmentManager());

    viewPager.setAdapter(adapter);


  3)利用ViewPager的setCurrentItem方法,设置当前你想要载入的Fragment


  4)利用ViewPager的setOnpageChangeListener 中的第一个方法,对ViewPager滑屏事件进行一个监听(RadioButton部分就不多说   了。。。感觉好像也没啥)


  二.利用Fragment实现xml的复用


   这里的具体实现方法有以下几种:

    1.将Fragment放入Activity中,用xml写入。

      xml中,结点为:<fragment> 其中,必写属性有  height  width  id  name(快捷键找到自己写入的Java类)


    2.帧布局中加载Fragment

       xml中<Fragment>的建立,相当于一个控件式的。

       代码中  getFragmentManager().beginTransaction().replace(帧布局id,新建Fragment类对象).commit();


   暂时就这样吧,其实最主流的用法还是第一个啦~~~小娴娴那就告退啦!不要太想念我哟~

   对了对了,以后每博,娴娴都准备送鸡汤来着的,咳咳,准备好碗了嘛?

   送给刚刚工作的我,送给拿着碗的你:

   不管你有多着急,或者你有多害怕,我们现在都不能往前冲,冲出去也没有用,飞不起来的。现在我们只需要不忘记梦想,只需要静静的等,等风来。


0 0
原创粉丝点击