服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android 中 Fragment的使用大全

Android 中 Fragment的使用大全

2021-04-02 16:52wangwangheng Android

通常地 fragment做为宿主activity UI的一部分, 被作为activity整个view hierarchy的一部分被嵌入。本篇文章给大家介绍android fragment使用,需要的朋友一起看看吧

 fragment必须总是被嵌入到一个activity中,并且它的生命周期直接受宿主activity生命周期的影响。

本文内容可以分为下面的几部分:

使用支持库
创建一个fragment
创建一个动态ui
多个fragment之间的通信

在一个activity中,一个fragment代表一种行为或者用户界面的一部分。你可以联合起来多个fragment在一个activity中创建多面板的ui,并且可以重用一个fragment在多个activity中。你可以认为一个fragment是一个activity的一个模块部分,fragment有它自己的生命周期,响应他自己的输入事件,并且你可以在activity运行期间增加或者删除一个fragment。

1、使用支持库

如果您的应用需要运行在3.0及以上的版本,可以忽略这部分内容。
如果您的应用使用在3.0以下、1.6及以上的版本,需要使用支持库来构建。
使用支持库的步骤:

 1.使用sdk下的sdk manager工具下载android support package

Android 中 Fragment的使用大全

 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.*;
在使用fragment的activity请继承fragmentactivity而不是activity。如果您的系统是3.0或以上版本,同样需要导入类似的包,但是可以使用普通的activity。 

2、创建一个fragment

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

创建一个fragment

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

Android 中 Fragment的使用大全

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

更多的内容请参照类fragment。

使用xml添加fragment到activity

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

说明:上面的所说的fragmentactivity适用在api在3.0以下的版本,3.0及以上的版本可以使用普通的activity。
例子:

Android 中 Fragment的使用大全

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

Android 中 Fragment的使用大全

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

3、构建一个灵活的ui

fragmentmanager提供了对activity运行时的fragment的添加、删除、替换的操作。

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

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

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

Android 中 Fragment的使用大全

在activity中你可以通过getfragmentmanager()来获得fragment对象,然后通过fragmentmanager对象的beginfragmenttransaction()方法来获得fragmenttransaction对象。通过它的add()方法来添加一个fragment到当前的activity中。

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

Android 中 Fragment的使用大全

 

Android 中 Fragment的使用大全

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

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

Android 中 Fragment的使用大全

4、与其他fragment的交互

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

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

定义接口并调用方法:

 Android 中 Fragment的使用大全

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

Android 中 Fragment的使用大全

可以通过fragmentmanager的findfragmentbyid()来查找一个fragment。

Android 中 Fragment的使用大全

 

Android 中 Fragment的使用大全

以上内容就是小编给大家分享的android 中 fragment的使用大全,希望对大家有所帮助。

延伸 · 阅读

精彩推荐
  • AndroidAndroid实现固定屏幕显示的方法

    Android实现固定屏幕显示的方法

    这篇文章主要介绍了Android实现固定屏幕显示的方法,实例分析了Android屏幕固定显示所涉及的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    鉴客6192021-03-27
  • AndroidAndroid程序设计之AIDL实例详解

    Android程序设计之AIDL实例详解

    这篇文章主要介绍了Android程序设计的AIDL,以一个完整实例的形式较为详细的讲述了AIDL的原理及实现方法,需要的朋友可以参考下...

    Android开发网4642021-03-09
  • AndroidAndroid中AsyncTask详细介绍

    Android中AsyncTask详细介绍

    这篇文章主要介绍了Android中AsyncTask详细介绍,AsyncTask是一个很常用的API,尤其异步处理数据并将数据应用到视图的操作场合,需要的朋友可以参考下...

    Android开发网7452021-03-11
  • AndroidAndroid CardView+ViewPager实现ViewPager翻页动画的方法

    Android CardView+ViewPager实现ViewPager翻页动画的方法

    本篇文章主要介绍了Android CardView+ViewPager实现ViewPager翻页动画的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Abby代黎明9602022-03-02
  • Android汇总Android视频录制中常见问题

    汇总Android视频录制中常见问题

    这篇文章主要汇总了Android视频录制中常见问题,帮助大家更好地解决Android视频录制中常见的问题,需要的朋友可以参考下...

    yh_thu5192021-04-28
  • AndroidAndroid界面效果UI开发资料汇总(附资料包)

    Android界面效果UI开发资料汇总(附资料包)

    android ui界面设计,友好的界面会提高用户体验度;同时也增强了android ui界面设计的难度,本文提供了一些常用开发资料(有下载哦)感兴趣的朋友可以了解下...

    Android开发网4672021-01-03
  • AndroidAndroid编程解析XML方法详解(SAX,DOM与PULL)

    Android编程解析XML方法详解(SAX,DOM与PULL)

    这篇文章主要介绍了Android编程解析XML方法,结合实例形式详细分析了Android解析XML文件的常用方法与相关实现技巧,需要的朋友可以参考下...

    liuhe68810052021-05-03
  • AndroidAndroid实现Service获取当前位置(GPS+基站)的方法

    Android实现Service获取当前位置(GPS+基站)的方法

    这篇文章主要介绍了Android实现Service获取当前位置(GPS+基站)的方法,较为详细的分析了Service基于GPS位置的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...

    Ruthless8342021-03-31