活动与碎片

时间:2014-02-01 21:32:56

标签: android android-fragments android-activity android-tabs

我正在尝试设计一个应用程序,其中主要的导航模式通过应用程序的几个主要屏幕使用Tabs。我基本上复制了教程中显示的方法:http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/

但是,在某些屏幕上有可点击的元素应该启动全屏页面(标签不应再位于页面顶部)。我已经能够通过为新屏幕创建新活动来实现这一点,但我相信我想在新屏幕上使用片段,因为在平板电脑布局中,我希望新屏幕显示在主屏幕旁边而不是而不是取代它。我没有成功这样做。如果有人可以提供示例或指针,说明如何使用基于选项卡的导航和其他没有选项卡导航的片段来运行片段的单个活动。

同样,我也可以从选项菜单访问设置屏幕。这样的设置屏幕通常是作为活动或片段完成的吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您必须以两种方式设计您的应用程序。

首先,您应该知道您是在运行大型设备(平板电脑)还是小型设备(智能手机)。 您可以通过准备两个不同的布局来实现这一点,一个布局位于智能手机的layout资源文件夹中,另一个布局位于layout-xlarge资源文件夹中,用于更大的设备。

在较小的布局中,只为一个片段创建一个容器(例如,列表片段)。在layout-xlarge文件夹中的较大布局中,您可以使用两个容器,一个用于带有列表的片段,第二个用于带有内容的片段。

onCreate方法中,您可以看到是否使用多窗格布局。 如果更大布局的secod窗格例如是R.id.right_panel。您只需findViewById(R.id.right_panel),如果这是null,您就知道您没有运行多窗格。

现在,如果你在多窗格中,按列表上的项目应该通知活动,活动应该用另一个更改/替换正确的片段。

如果您不在多窗格中,则按列表中的项目应仅使用一个内容片段打开new activity

有很多关于simmilar解决方案的教程,例如linklink

此致