通常,Fragment作为Activity整体视图层次树的一部分,被嵌入到宿主Activity的界面的一部分。有两种方法能够把Fragment添加到Activity布局中:
1. 在Activity布局文件的内部声明Fragment。
你能够像一个视图那样给Fragment指定布局属性。下例说明了给Activity指定两个Fragment的布局文件。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:name="com.example.news.ArticleListFragment" android:id="@+id/list" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment android:name="com.example.news.ArticleReaderFragment" android:id="@+id/viewer" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /> </LinearLayout>
在<fragment>元素中的android:name属性指定了在布局中要实例化的Fragment。
当系统创建这个Activity布局时,它实例化在布局中指定的每一个Fragment,并且分别调用onCreateView(),来获取每个Fragment的布局。然后系统会在Activity布局中插入通过<fragment>元素中声明直接返回的视图。
注:每个Fragment需要一个唯一的标识,这样能够在Activity被重启时系统使用这个ID来恢复Fragment(并且你能够使用这个ID获取执行事务的Fragment,如删除)。有三种给Fragment提供ID的方法:
A. 使用android:id属性来设置唯一ID;
B. 使用android:tag属性来设置唯一的字符串;
C. 如果没有设置前面两个属性,系统会使用容器视图的ID。
2. 编程给一个既存的ViewGroup添加Fragment。
在Activity运行的任何时候,都可以把Fragment添加到Activity布局中。你只需要指定一个放置Fragment的ViewGroup。要在Activity中使用Fragment事务(如添加、删除、或替换Fragment),必须使用来自FragmentTransaction的APIs。你能够向下面例子那样从Activity中获取一个FragmentTransaction实例:
FragmentManager fragmentManager = getFragmentManager() FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
然后,你能够使用add()方法把Fragment添加到指定的视图中,如:
ExampleFragment fragment = new ExampleFragment(); fragmentTransaction.add(R.id.fragment_container, fragment); fragmentTransaction.commit();
传递给add()方法的第一个参数是Fragment应该被放入的ViewGroup,通过资源ID来指定这个ViewGroup,第二个参数是要添加的Fragment。
一旦FragmentTransaction对象发生了改变,就必须调用commit方法来提交改变的影响。
相关推荐
在Android开发中,Fragment是应用程序界面的一个可重用组件,它可以独立于Activity存在,并且可以在多个Activity之间共享。Fragment提供了一种方式来处理更复杂的用户界面,特别是在平板电脑和其他大屏幕设备上,...
这个压缩包"安卓Andriod源码——Fragment例子.zip"显然是一个包含Fragment使用示例的代码库,名为"FragmentDemo",对于学习和理解Fragment的运作机制非常有帮助。 Fragment的设计初衷是为了在大屏幕设备如平板电脑...
这个“安卓Andriod源码——Fragment实现tab实例代码.zip”压缩包提供了一个使用Fragment实现Tab功能的具体示例,这对于理解和掌握如何在Android应用中创建动态和灵活的用户界面至关重要。 在Android的Tab布局中,...
Fragment是Android SDK中的一个组件,它允许在一个Activity中展示多个可交互的UI部分。 一、底部菜单栏(Bottom Navigation) 1. 底部菜单栏设计原则: - 易于理解:菜单项应直接反映其对应的功能。 - 空间有限...
在Android应用开发中,Fragment是UI组件的一种,它允许开发者在一个Activity中展示多个相互独立的视图。这个压缩包中的示例代码展示了如何利用Fragment来实现Tab切换以及滑出侧边栏的效果,这对于构建现代Android...
"andriod自定义的Tabs标签菜单(viewpager+fragment)"是一个很好的实践,它利用了ViewPager和Fragment来实现动态、可滑动的标签页效果。下面将详细讲解这一实现方式。 **一、ViewPager组件** ViewPager是Android ...
12. **Android组件间通信**:BroadcastReceiver可以监听系统事件,Fragment用于构建复杂的界面,Loader用于异步加载数据,理解它们的工作原理和使用场景是高级Android开发的一部分。 13. **Gradle构建系统**:...
`Fragment`是Android SDK中的一个核心组件,它代表了Activity的一部分可重用的用户界面。`Fragment`可以独立存在,也可以嵌入到`Activity`中,使得UI设计更加灵活,特别是在平板电脑等大屏幕设备上,可以更好地利用...
定义一个接口,Fragment实现这个接口,Activity也实现这个接口,这样Fragment可以通过调用接口方法来传递信息给Activity。此外,还可以使用setArguments()和getArguments()方法传递简单的数据,或者使用...
在Android应用开发中,Fragment是Activity的一个模块化组件,它允许开发者将屏幕的不同部分独立管理。Fragment的概念引入是为了更好地支持不同屏幕尺寸和配置的变化,使得开发者可以更灵活地设计用户界面。当我们...
这个压缩包“安卓Andriod源码——级联菜单,两级菜单自定义实现提供多种方式PopWindow,Fragment引用.zip”提供了实现这一功能的具体源代码,适用于Android应用程序。 首先,让我们了解级联菜单的基本概念。级联...
在Android应用开发中,Fragment是Android SDK中的一个重要组件,它被设计用来支持多屏幕布局和在Activity中动态地添加或移除内容。本教程将基于"安卓Andriod源码——关于Frangment的实现仿网易.zip"这个压缩包文件,...
此时,Activity不再是直接继承自`Activity`,而是需要继承`android.support.v4.app.FragmentActivity`。这是因为Fragment和Activity在系统中是作为独立的对象存在的,它们之间的交互由Activity的`FragmentManager`来...
13. **LiveData和ViewModel**: 这是Android Architecture Components的一部分,LiveData是一个观察者模式的实现,用于在Activity或Fragment的生命周期内保持数据。ViewModel则在配置变更时保持数据,避免数据丢失。 ...
我们可以将多个Fragment组合到一个Activity中创建一个多面界面,也可以在多个Activity中重用一个Fragment。 Fragment概述 我们可以把Fragment视为模块化的一段Activity,它具有自己的生命周期,接收它自己的事件...
在Weibo4Android-2中,我们可以看到如何组织Activity、Fragment、Service等组件,以及它们之间的交互方式。 2. **数据处理**:在Android应用中,数据管理是关键。此项目可能包含了SQLite数据库的使用,用于本地数据...
1. **创建RadioGroup**: 首先,你需要在你的Activity或Fragment中创建一个RadioGroup实例。可以通过以下代码实现: ```java RadioGroup radioGroup = new RadioGroup(this); ``` 2. **设置RadioGroup属性**: ...
在安卓(Android)平台上开发应用时,涉及到用户交互的一个常见任务是实现拍照和访问本地相册的功能。这个压缩包文件“安卓Andriod源码——-拍照、打开本地相册.zip”显然包含了实现这两个功能的示例代码。下面将...
这个“andriod闹钟源代码”是一个适合学生进行毕业设计的学习资源,它提供了Android应用开发的实际案例,帮助初学者理解如何在Android环境中实现一个功能完备的闹钟应用。下面我们将详细探讨这个源代码中涉及的主要...
这个"安卓Andriod源码——TabActivityDemo.zip"应该包含了一个示例项目,演示了如何使用TabActivity创建一个多标签的界面。尽管在最新的Android版本中,TabActivity已经被废弃,但了解它的原理对于理解Android应用的...