码迷,mamicode.com
首页 > 其他好文 > 详细

UIfragment与fragmentManager

时间:2016-09-06 19:59:15      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

为什么使用Fragment来管理用户界面?

  使用Fragment可以使得界面更为灵活,而且能够很好地适应不同尺寸的屏幕。建议使用支持库中的类(android.support.v4.app.*)来实现,可以通过升级项目的支持库从而使用到Fragment的最新的API特性

如何使用Fragment管理用户界面?

  步骤一:在AndroidStudio中添加依赖关系,这是因为要使用支持库就必须在项目中将其列入依赖关系。具体操作略!

  步骤二:创建CrimeActivity去继承FragmentActivity,因为FragmentActivity知道如何去管理Fragment。

  Activity托管Fragment有两种方式:在Activity布局中添加(但是不够灵活),在Activity代码中添加(灵活性高,通常采用这种方式)。

  步骤三:在CrimeActivity的布局文件中为Fragment安排位置,通常采用FrameLayout容器视图。xml文件代码如下:        

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>

 

 

  步骤四:新建一个名为fragment_crime的xml文件,添加控件什么的。这就是CrimeFragment的布局文件

  步骤五:新建一个UIfragment类(继承Fragment),这就需要用到Fragment的生命周期相关的内容了。此类是利用onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)来实例化Fragment视图的布局,

      将实例化的View返回给托管Avtivity,也就是CrimeActivity。这个过程将Fragment和Activity建立起了联系。还将Fragment和它的xml布局文件建立起了联系。代码如下:

      

public View onCreateView(LayoutInflater inflater,  ViewGroup container,  Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_crime,container,false);
    return v;
}

步骤六:必须是在Fragment中关联组件,并添加响应。


步骤七:FragmentManager负责将fragment的视图添加到Activity的视图结构中去。代码如下:

  
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);

if(fragment == null){
fragment = createFragment();
fm.beginTransaction().add(R.id.fragment_container,fragment).commit();
}

 

UIfragment与fragmentManager

标签:

原文地址:http://www.cnblogs.com/keqi-Android/p/5846944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!