理解fragment的创建和显示方法的最简单途径就是直接看代码。现在,我们的应用什么都没显示,我们想创建fragment,来显示android的身体部分,首先我们来显示头部要创建fragment,我们要做的第一件事是定义一个新的布局文件,表明我想要的fragment外观。此布局将定义我想让此Fragment包含什么视图。我要将此命名为fragment__bodise_part, 我想让它显示头部或其他任何身体部位的图像。所以我让他作为单个ImageView,然后点击OK,进行创建。在这里面,可以看到他只是单个IMageView.现在我们有了ImageView,我们只需要给它一个ID,以便在之后引用它。始终提供描述性ID是一个好习惯。我给这个ImageView 一个ID:bodies-part-image-view, 然后我要在顶部添加一个描述性注释,现在我们回到TODO项,下一步是创建一个新类,叫做BodiessPartFragment,它会显示AndroidMe身体部位的图像。此Fragment类会填充我们刚创建的布局。那么在UI文件夹中,我要通过创建一个类,来创建Fragment.我将它命名为BodiesPartFragment,它将保存Android身体部位图像,其父类将是Fragment。我使用的是来自support库的fragment,然后点击OK,现在我们有一个扩展自fragment的空类。此扩展很重要。因为。android将通过它知道如何处理此类,以及作为fragment的生命周期事件和创建。现在每个fragment会实现几种方法。第一个是实例化fragment所需的空构造函数。第二个是onCreateView()方法。它在我们刚创建的Fragment填充显示时调用。类似于Activity的onCreate()方法。所以对你创建的任何Fragment请确保实现这两种方法。在onCreateView中是我们编写代码填充BodyPartFragment布局的地方。我将调用此inflatedLayoutRootView,我还将对我们的bodies_part_image_view,调用findViewBuyID来引用这将显示的ImageView。现在,我还能够将图像资源设置为我想要显示的任何图像的ID。我们暂时显示头像列表中的第一个图像。要获得列表,我们使用实用工具类AndroidImageAssets并调用getHeads()这将返回我们感兴趣的所有图像ID的列表。最后,我们调用get(0)来获取,列表中索引0处的第一个项。稍后我们将更新此代码,以显示我们想要的任何图像。最后一步,我将返回这个创建的rootView.现在我们就基本完成了。我们创建了Fragment类及其布局,但是我们需要在AndroidMeActivity中包含一些实际显示Fragment的代码。这是因为每个Fragment需要嵌入到HostActivity中,那么我们返回到AndroidMeActivity代码,首先,我需要在activity_android_me布局文件中定义一个容纳Fragment的位置。这称为Fragment容器,它通常是具有定义尺寸的框架布局。在这个例子中,高为180dp,宽为手机屏幕的全宽。这定义了Fragment将在布局中占用的空间,我给它一个ID:head_container。现在我们有了Fragment容器。回到AndroidMeActivity代码中,在这里的onCreate()我要创建BodiesPartFragment的一个新实例,叫做headFragment然后我要使用叫做Fragmentmanager和事务的东西将这个新Fragment添加到屏幕上。此事务基本上会将我们的fragment添加到指定的容器。我们一会儿会更详细的介绍fragmentManager,我在下面的讲师注释中,提供了此事务代码。这主要是方便你运行应用。并直观的看到你的Fragment是否与期望的一致。我们在手机上运行应用看一看。

这是我们的头部Fragment,看起来还不错,我们编码并显示了第一个fragment,接下来,将由你按照代码 中的TODO项操作。创建一个身体部位Fragment并显示它。记住,此任务共有三个部分,首先创建布局文件来定义身体部位Fragment的外观。然后创建相应的Fragment类,来填充布局并定义要显示的图像。第三步,使用fragmentmanager和事务通过其HostActivity显示Fragment。

1 定义Fragment的布局

2.实现Fragment的布局,并为每一个需要的view设置ID

3创建继承自support包中Fragment的自定义Fragment子类。

4在自定义的Fragment类中覆写空构造方法和onCreateView()方法。

5.在onCreateView()方法实例化Fragment的布局,并可选择的对布局进行一些初始化设置。。

6。将Fragment嵌入到宿主Activity中:

6。1静态嵌入:在Activity的布局中定义一个容纳Fragment的位置。

相关链接:

Fragment命名规范:

类名称必须采用骆驼拼写法,例如:SignInFragment

相应的XML 文件应该遵守以下命名规范:fragment<FRAGMENT_NAME>.xml,例如:fragment__sign_in.xml

要了解完整的 Android 命名规范列表,请参阅ribot 的 Android 指南

选择 Fragment 支持库

我们的 Fragment 类使用v4支持库。v4 库旨在与 Android 2.3(API 级别 9)及以上版本结合使用。与其他库相比,它们包含最庞大的 API 集合,包括对应用组件、用户界面功能、无障碍、数据处理、网络连接和编程实用工具的支持。

results matching ""

    No results matching ""