Android Fragment的使用

可以分为下面的几部分:

    • 使用支持库

    • 创建一个Fragment

    • 创建一个动态UI

    • 多个Fragment之间的通信

 

1、使用支持库

如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容。

如果您的应用使用在3.0以下、1.6及以上的版本,需要使用支持库来构建。

使用支持库的步骤:

  1. 使用SDK下的SDK Manager工具下载Android Support Package

     2. 在您的Android工程的顶级目录下创建一个libs目录

    3. 找到您的SDK下的/extras/android/support/v4/android-support-v4.jar,并且拷贝到您的项目的libs下,选中这个jar包 → 右键 → Build Path → Add to Build Path

    4.在您的项目的Manifest.xml文件的<manifest>标签下添加:

    <uses-sdkandroid:minSdkVersion="4"

      android:targetSdkVersion="8"/>

      其中targetSdkVersion是您的软件最小支持的版本

    5.如果您的项目支持3.0以下的版本,请导入如下的包:android.support.v4.*;

    在使用FragmentActivity请继承FragmentActivity而不是Activity。如果您的系统是3.0或以上版本,同样需要导入类似的包,但是可以使用普通的Activity。 

      

    2、创建一个Fragment

    Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。可以看做是一个子Activity

    创建一个Fragment

    创建一个Fragment和创建一个Activity很类似,继承Fragment类,重写生命周期方法,主要的不同之处就是需要重写一个onCreateView()方法来返回这个Fragment的布局。例子:

     

      

    Fragment的生命周期方法依赖于Activity的生命周期,例如一个ActivityonPause()的生命周期方法被调用的时候这个Activity中的所有的FragmentonPause()方法也将被调用。

     

    更多的内容请参照类Fragment

    使用XML添加FragmentActivity

    尽管Fragment可以被多个Activity重用,但是您也必须把Fragment关联到一个FragmentActivity上。可以使用XML布局文件的方式来实现这种关联。

    说明:上面的所说的FragmentActivity适用在API3.0以下的版本,3.0及以上的版本可以使用普通的Activity

    例子:

      

    上面使用fragment标签,android:name=””指定一个添加到xml中的Fragment。对于创建不同的屏幕尺寸布局的更多信息,请阅读支持不同的屏幕尺寸。

     

     

      

    当您添加一个片段一个活动布局定义的布局XML文件中的片段,你不能删除在运行时的片段。如果您打算在用户交互和交换片段,你必须添加的活性片段的活动时第一次启动。

     

    3、构建一个灵活的UI

     

    FragmentManager提供了对Activity运行时的Fragment的添加、删除、替换的操作。

     

    Activity运行期间你可以添加Fragment而不是在XML布局文件中进行定义。如果你打算在Activity中改变Fragment的生命过程。

     

    如果要执行添加、删除、修改的操作,你必须通过FragmentManager的对象获得一个FragmentTransaction对象,通过它的API来执行这些操作。

     

    添加一个Fragment到一个Activity,必须把这个Fragment添加到一个容器视图中。例子:

     

    Activity中你可以通过getFragmentManager()来获得Fragment对象,然后通过FragmentManager对象的beginFragmentTransaction()方法来获得FragmentTransaction对象。通过它的add()方法来添加一个Fragment到当前的Activity中。

    一个FragmentTransaction对象可以执行多个增删修的方法,如果你想把这些修改提交到Activity上,必须在最后调用一下这个对象的commit()方法。例子:

     

      

    由于不是定义在XML布局中的,所有可以转型删除和修改的操作。

    如果替换或者删除一个Fragment然后让用户可以导航到上一个Fragment,你必须在调用commit()方法之前调用addToBackStack()方法添加到回退栈。如果你把这个Fragment添加到了回退栈,在提交之后这个Fragment是会被Stop而不是Destroyed。如果用户导航到这个Fragment,这个Fragment会被Restart而不是重新创建。如果你没有把它添加到回退栈,则在删除或者替换的时候它将被Destroyed。例子:

      

    4、与其他Fragment的交互

    两个单独的Fragment之间是不应该进行通信的。应该使用他们所存在的Activity作为沟通的纽带。

    为了实现两个Fragment的交互,您可以在Fragment中定义一个接口,然后再这个接口中定义一个方法,在FragmentonAttach()方法中调用这个接口中的方法。然后让Activity实现这个方法来完成ActivityFragment之间的通信。例子:

    定义接口并调用方法:

     

      

    实现接口,在这个方法中可以进行与其他Fragment的数据的交互:

      

    可以通过FragmentManagerfindFragmentById()来查找一个Fragment

     

     

http://www.cnblogs.com/xinye/archive/2012/08/28/2659712.html
### 回答1: Android Fragment 是一种可重用的界面部件,它可以独立于 Activity 运行并与其他 Fragment 组合在一起形成一个完整的界面。Fragment 可以在不同的 Activity 之间共享,这样可以减少代码重复并提高代码复用率。使用 Fragment 需要继承 Fragment 类并重写 onCreateView 方法来创建界面。然后使用 FragmentManager 和 FragmentTransaction 来动态添加、移除和替换 Fragment。 ### 回答2: Android FragmentAndroid 应用中的一种重要的组件,它是一种可以嵌入到 Activity 中的可重用 UI 组件。一个 Activity 可以包含多个 Fragment,一个 Fragment 可以被多个 Activity 包含。 使用 Fragment,可以实现 UI 动态加载、数据隔离、模块化开发。在实现不同分辨率、屏幕模式的支持时,Fragment 提供了更方便的管理方式。 Fragment 生命周期包括以下几个状态: 1. 初始化阶段:调用 onCreate 方法; 2. 可视阶段:调用 onCreateView 方法,创建 Fragment 中的 view; 3. 已添加到 Activity 中:调用 onActivityCreated 方法; 4. 可交互阶段:调用 onStart 方法,Fragment 可以与用户进行交互; 5. 在前台阶段:调用 onResume 方法; 6. 可离屏阶段:调用 onPause 方法; 7. 完全不可见阶段:调用 onStop 方法; 8. 销毁阶段:调用 onDestroyView 方法、onDestroy 方法、onDetach 方法。 在使用 Fragment 的过程中,我们需要了解以下几个常用的类: 1. FragmentFragment 的基础类,需要重载多个生命周期方法; 2. FragmentManager: 管理 Fragment 的类,包括 Fragment 的添加、移除、替换、显示、隐藏等操作; 3. FragmentTransaction: Fragment 操作类,封装了一组可以在 FragmentManager 上执行的操作。 在使用 Fragment 的时候,一般需要实现以下步骤: 1. 在 Activity 中定义一个容器,用于存放 Fragment 对象; 2. 创建 Fragment 对象; 3. 将 Fragment 对象添加到容器中; 4. 在 Fragment 中定义 UI 和数据绑定等处理。 例如,我们可以在 Activity 中定义一个容器,然后通过 FragmentManager 创建一个 Fragment 对象,并将其添加到容器中: ``` FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); MyFragment myFragment = new MyFragment(); transaction.add(R.id.container, myFragment); transaction.commit(); ``` 在 Fragment 中,我们可以定义 UI 并进行数据绑定: ``` public class MyFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_my, container, false); TextView textView = view.findViewById(R.id.text_view); textView.setText("Hello Fragment"); return view; } } ``` 这样,我们就可以在 Activity 中加载 Fragment,并在 Fragment 中显示 UI 和数据信息。 总而言之,使用 Android Fragment 可以使我们更好地进行模块化开发、实现 UI 动态加载、数据隔离、屏幕适配等功能。同时,在开发过程中,需要熟悉 Fragment 的生命周期及常用类的使用方法,才能更加高效地进行开发。 ### 回答3: Android Fragment(片段)是Android开发中一个重要的概念,它可以轻松地将一个Activity划分为多个子部分,每个部分可以独立地进行操作。正因为如此,Fragment成为了很多应用开发中的标配。 Fragment适用于动态UI、动态加载和给大屏幕设备提供一个更加灵活的界面。Fragment可以被看做是Activity中的一个小模块,可实现模块化编程,当然Fragment的生命周期也不同于Activity,系统对它的管理也是不同的。 切割UI界面为小块(模块),实现模块化程度,Fragment使用可以提供更好的用户界面体验。例如,在平板电脑中列表在右边,详细视图在左边,而在普通手机中这个列表是单独呈现的,这时候使用Fragment就可以轻易地划分页面布局,做到简洁协调。 为了使用Fragment,首先需要了解一些重要的概念: Fragment的生命周期:与Activity的生命周期相似,包括onCreate()、onStart()、onResume()、onPause()、onStop()和onDestroy()等方法。 Fragment管理:Android提供了FragmentManager和FragmentTransaction两个类来管理Fragment的添加、删除、替换等等操作。需要注意的是,Fragment的管理和Activity的管理是有区别的。 使用Fragment时,还需要注意以下几点: 1. Fragment 的激活必须通过 FragmentTransaction 的commit() 函数实现,否则不会被添加到 FragmentManager。 2. 通过使用layout创建一个包含 Fragment 的Activity布局,再通过 FragmentManager 加载相应的 Fragment,通过这种方式可以实现 Fragment 管理和Fragment 之间的通讯。 3. Fragment 可以嵌套使用,即一个 Fragment可以只是另一个 Fragment的一部分,这种设计可以更好的重用代码和布局。 总之,Android Fragment使用为应用程序开发带来了很多好处。它可以提高程序的灵活性和可扩展性,有助于构建清晰的UI体系结构,并支持模块化编程。使用Fragment的开发者可以通过Activity、Fragment和它们之间的通信来创建更加动态、灵活和易于维护的Android应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值