Android Fragment的使用方法(翻译)

 更新时间:2015年03月13日 15:04:37   投稿:mdxy-dxy  
这篇文章主要介绍了Android Fragment的使用方法,官方文档的翻译,需要的朋友可以参考下

可以分为下面的几部分:

使用支持库

创建一个Fragment

创建一个动态UI

多个Fragment之间的通信

 

1、使用支持库

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

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

使用支持库的步骤:

使用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.*;

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

  

2、创建一个Fragment

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

创建一个Fragment

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

 

  

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

 

更多的内容请参照类Fragment。

使用XML添加FragmentActivity

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

说明:上面的所说的FragmentActivity适用在API在3.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中定义一个接口,然后再这个接口中定义一个方法,在Fragment的onAttach()方法中调用这个接口中的方法。然后让Activity实现这个方法来完成Activity和Fragment之间的通信。例子:

定义接口并调用方法:

 

  

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

  

可以通过FragmentManager的findFragmentById()来查找一个Fragment。

 

相关文章

  • Android打包篇:Android Studio将代码打包成jar包教程

    Android打包篇:Android Studio将代码打包成jar包教程

    这篇文章主要介绍了Android打包篇:Android Studio将代码打包成jar包教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android使用Span打造丰富多彩的文本详解

    Android使用Span打造丰富多彩的文本详解

    在开发过程中经常需要使用文本,有时候需要对一段文字中的部分文字进行特殊的处理,如改变其中部分文字的大小、颜色、加下划线等。本文将为大家介绍如何实现这些效果,感兴趣的可以学习一下
    2022-01-01
  • Android TextView渐变颜色和方向及动画效果的设置详解

    Android TextView渐变颜色和方向及动画效果的设置详解

    TextView的在安卓中可以理解为一个文本视图控件,Android的视图控件的基类是View类,可以理解的TextView是View的子类。我们通常在.XML布局文件中会为文本视图控件指定各种属性来设置它的样式,今天我们要讲的当然不是传统常见的那种,将会带有渐变颜色和方向及动画效果
    2021-11-11
  • Android编程实现自定义Tab选项卡功能示例

    Android编程实现自定义Tab选项卡功能示例

    这篇文章主要介绍了Android编程实现自定义Tab选项卡功能,结合完整实例形式分析了Android自定义tab选项卡的遍历、设置及属性操作相关技巧,需要的朋友可以参考下
    2017-02-02
  • Android中Activity的四种启动模式和onNewIntent()

    Android中Activity的四种启动模式和onNewIntent()

    android 中activity的启动模式分为四种,(standard、singleTop、singTask、singleInstance),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-08-08
  • Android中Activity滑动关闭的效果

    Android中Activity滑动关闭的效果

    这篇文章主要介绍了Android中Activity滑动关闭的效果,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • Flutter开发setState能否在build中直接调用详解

    Flutter开发setState能否在build中直接调用详解

    这篇文章主要为大家介绍了Flutter开发setState能否在build中直接调用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android 游戏开发中绘制游戏触摸轨迹的曲线图

    Android 游戏开发中绘制游戏触摸轨迹的曲线图

    本文主要介绍 Android 绘制游戏触摸轨迹的曲线图的简单示例,这里详细说明使用方法,并附示例代码,有需要的小伙伴可以参考下
    2016-08-08
  • Android开发中Toast显示消息的方法小结

    Android开发中Toast显示消息的方法小结

    这篇文章主要介绍了Android开发中Toast显示消息的方法,结合实例形式总结分析了Toast的功能、创建Toast对象及调用相关函数显示消息提示框的操作技巧,需要的朋友可以参考下
    2016-10-10
  • Android自定义图文跑马灯效果

    Android自定义图文跑马灯效果

    这篇文章主要为大家详细介绍了Android自定义图文跑马灯效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08

最新评论