通常,Fragment是作为Activity用户界面的一部分来使用的,并且它会给Activity提供自己的布局。
要给Fragment提供一个布局,你必须实现onCreateView()回调方法,系统在给Fragment描画布局的时候会调用这个方法。这个方法的实现必须返回一个View,它是Fragment布局的根。
注:如果你的的Fragment是ListFragment的子类,默认的实现是从onCreateView()方法中返回一个ListView(),因此你不需要实现它。
为了从onCreateView()方法中返回一个布局,你能够通过XML文件中的一个布局资源的定义来填充它。为了帮助你做这件事,onCreateView()方法提供了一个LayoutInflater对象。
例如,Fragment的一个子类通过example_fragment.xml文件加载一个布局:
public static class ExampleFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.example_fragment, container, false);
}
}
传递给onCreateView()方法的container参数是ViewGroup(来自Activity的布局)的父类,你的Fragment参数将被插入到这个容器中。如果Fragment正在被恢复,那么savedInstanceState参数就提供一个有关前一个Fragment实例数据的Bundle对象(在有关处理Fragment生命周期(Handling the Fragment Lifecycle)一节中会更多的讨论恢复状态)。
Inflate()方法需要三个参数:
1.第一个参数是你想要填充的布局的资源ID;
2.第二个参数ViewGroup是被填充的布局的父容器,传递container参数是至关重要的,因为在这个方法执行过程,系统要把这个父视图指定的布局参数用作被填充的布局的根视图。
3. 一个布尔值参数指示在填充期间是否要把布局绑定到ViewGroup(第二个参数)上。在这个例子中,指定false是因为系统已经把被填充的布局插入到container参数中了---如果传递true,在最终的布局中会创建一个多余ViewGroup。
你已经看到了如何创建一个提供布局的Fragment,接下来就需要把Fragment添加到Activity中。
注:本人转载系个人觉得翻译的很好,值得收藏,且自己回头看着方便。
如有兴趣请访问作者官方博客http://blog.csdn.net/FireOfStar
分享到:
相关推荐
总之,通过在XML布局文件中静态添加Fragment,我们可以更方便地构建复杂的界面结构,同时保持代码的清晰和模块化。理解Fragment的使用方式对于开发适应性强、用户体验良好的Android应用至关重要。
在Android应用开发中,Fragment是UI组件的一种,它允许我们构建可重用的模块化界面。Fragment可以在Activity中动态添加、删除或替换,这在设计适应不同屏幕尺寸和配置的应用时非常有用。当我们想要增强用户体验,使...
2. 替换Fragment:`FragmentTransaction.replace()`方法会移除指定ID容器中的所有现有Fragment,并将新的Fragment添加进去。这常用于导航界面,如底部导航栏或抽屉菜单。 3. 开启事务:`FragmentTransaction.begin...
这个项目为学习Android Fragment的使用提供了一个实战示例,特别是对于理解如何在实际应用中组织复杂的用户界面和管理Fragment间的交互非常有帮助。同时,它也展示了早期Android开发的风格和最佳实践,对于回顾...
总之,Fragment动画效果是Android应用中提升用户界面交互性和视觉吸引力的重要工具。通过熟练掌握进入/退出动画、共享元素动画以及自定义动画的创建和组合,开发者可以创造出丰富的用户体验,使应用更具吸引力。这个...
在Android应用开发中,Fragment是Android SDK中的一个重要组件,它被设计用来支持多屏幕适配和增强用户界面的模块化。Fragment允许开发者将应用程序的功能或UI部分分解为独立的、可重用的组件,这些组件可以在不同的...
在Android开发中,Fragment是应用程序界面的一个模块化组件,它可以在Activity中承载用户界面部分,使得开发者能够构建更复杂、可重用的布局。"Android代码-安卓原生Fragment演示"是一个项目,专注于展示如何在...
它们允许你将用户界面拆分为可重用的模块,这些模块可以在Activity之间共享或独立展示。在小屏设备上,多个片段可以组合在单个Activity中以提供更丰富的交互体验。 **2. Fragment的生命周期** 与Activity一样,...
Fragment是Android应用程序中的一个模块化组件,它可以包含一部分用户界面(UI)元素。一个Activity可以包含多个Fragment,每个Fragment都可以有自己的生命周期和UI。Fragment的存在使得开发者能够构建更加复杂和可...
`appcompat-v7`库通过引入一个自定义的ActionBar实现,使得开发者可以为旧版本的Android设备添加Action Bar功能。此外,它还包含了对ToolBar、AppCompat主题以及其他Material Design组件的支持,让开发者能够更容易...
Fragment作为UI的一部分,经常与其他的控件(如Button、TextView等)配合使用,共同构建复杂的用户界面。封装Fragment启动方法有助于减少重复代码,提高代码复用,同时也便于在项目中统一管理Fragment的生命周期和...
在Android应用开发中,Fragment是UI组件的重要组成部分,它允许我们构建可动态组合的应用界面,尤其是在平板电脑等大屏幕设备上。本文将深入探讨Fragment的管理以及如何解决Fragment重叠问题。 首先,Fragment是在...
Fragment是Android应用开发中的一个重要组件,它是在Android 3.0(API级别11)引入的,用于构建可重用的、模块化的用户界面部分。在这个"Fragment实例-Android Studio项目"中,我们可以深入理解Fragment的使用方法...
- **Fragment**: 这是Android开发中的重要组成部分,允许在活动中创建可重用的、独立的UI块。在Android 3.0(API级别11)及以上版本中引入,但v4库使其可以在低至Android 1.6(API级别4)的版本上使用。 - **Loader...
在Android开发中,创建一个类似微信的用户界面框架是一项常见的任务,这通常涉及到使用ViewPager结合Fragment来实现页面的切换,并且可能需要添加下拉刷新功能。在这个教程中,我们将深入探讨如何实现这样的功能。 ...
在 Android 开发中,Fragment 是一个非常重要的组件,用于实现用户界面和业务逻辑的分离。然而,在实际开发中,我们经常需要动态加载 Fragment 和获取 Fragment 的实例,以满足不同的业务需求。 在本文中,我们将...
`Fragment`是Android应用设计模式的一部分,它允许我们在一个活动中展示多个视图或者界面,这对于创建复杂且适应性强的用户界面至关重要。而`Retrofit`是Square公司提供的一款优秀的网络请求库,它简化了网络API的...
博客中可能包括如何在布局文件中设置TabHost,如何在Activity中初始化TabHost,以及如何使用FragmentTransaction将Fragment添加到TabHost中的步骤。 7. **Fragment通信** 在多Fragment环境中,Fragment之间的通信是...
Fragment是Android开发中重要的模块化组件,允许开发者将UI拆分为可重用的部分,即使在较小的屏幕上也能保持良好的用户体验。Loader则帮助管理数据加载,避免在配置更改时丢失数据。View Pager用于创建滑动页面效果...
在Android应用开发中,Fragment是UI组件的重要组成部分,它允许我们构建可重用的模块化界面,可以在Activity中动态添加、替换或者移除。"android fragment 页面切换简单demo"是一个典型的示例,用于演示如何在...