【发布时间】:2012-06-18 05:35:12
【问题描述】:
要求
我有一个带有 2 个活动的应用程序,比如 A 和 B,带有 A->B 和 B->A 之类的导航(在后按时)。我的要求是
- 我想要一个浮动在屏幕上的视图/布局,无论哪个 活动当前可见。我在应用程序上夸大了这个视图 start(onCreate of Activity A),它在屏幕上保持静态 从 A->B 以及 B 出现在屏幕上时的过渡。
- 所以这个视图自然应该只膨胀一次(当应用程序启动时, A) 的 onCreate。
我发现了什么
我做了一些搜索,从我能找到的情况来看,有两种方法可以在 android 中重用布局
-
使用
<include>它似乎只是一个编写常用 UI 元素的 xml 代码的工具。每次在父布局中使用时都会膨胀。
-
使用
ViewStub我对使用 ViewStub 进行了一些研究,这似乎也是一种在许多布局中重用代码段的方法。每次我们在布局中使用它时也需要对其进行充气,但只有在我们使它们在运行时可见时才会充气。
我的要求的另一个提示
对于熟悉 iPhone 开发的人,您可以将视图添加到 UIWindow,无论 UIViewController 当前处于活动状态,它都会保留在那里。我想要我的应用程序中的确切行为。
我原来的设置
我的目标是 android 2.1 及更高版本。似乎Fragment 可从 API 级别 11 (android 3.0) 及更高版本获得。一种选择是使用android compatibility library,它允许在旧版本中使用Fragment。我现在正在研究这个。但我也想知道是否有任何其他方法可以满足我的要求,而不是改变我的整个项目并使用片段。
我的应用程序中有大约 30 个奇怪的活动,我希望这个布局漂浮在所有这些活动上。我刚刚制作了一个包含 2 个活动的测试用例,以使问题变得简单易行。
【问题讨论】:
-
Activity A做了什么,Activity B没有,Activity B做了什么,Activity A没有?为什么不只使用一个Activity和固定的View并调整它周围的一切? -
好的,我知道你在问什么。事实上,我有大约 30 多个活动,几乎不可能在单个活动中处理每个页面。为了提出这个问题,我只用 2 个活动编写了一个测试用例。抱歉,我将编辑问题以明确说明..
标签: android layout android-activity floating android-inflate