需求
我的应用程序有2个活动,称为A和B,具有导航,例如A->B
和B->A
(在返回时)。我的要求是:
- 我希望一个视图/布局浮动在屏幕上,无论当前可见的是哪个活动。我在应用程序启动时(在activity A的onCreate中)填充此视图,它在从A->B的过渡期间以及B处于屏幕上时保持静态。
- 因此,自然而然地,这个视图只应该被填充一次(当应用程序启动时,在A的onCreate中)。
我发现的
我进行了一些搜索,并从中找到了两种在Android中重用布局的方法:
使用
<include>
它似乎只是一个工具,用于编写常用UI元素的XML代码。每次在父布局中使用它时,都会填充它。
使用
ViewStub
我研究了如何使用ViewStub,它似乎也是在许多布局中重用代码段的一种方法。除非在运行时使它们可见,否则每次在布局中使用它时都需要填充它。
我的另一个要求提示
对于熟悉iPhone开发的人,您可以将视图添加到UIWindow
中,无论当前活动的是哪个UIViewController
,它都会保留在那里。我希望在我的应用程序中实现完全相同的行为。
我的原始设置
我针对Android 2.1及以上版本进行了定位。从API级别11(Android 3.0)及以上版本开始提供Fragment
。一种选择是使用Android兼容性库,该库使旧版本中的Fragment
可用。我目前正在研究这个问题。但我也想知道是否有其他方法可满足我的要求,而不是更改整个项目并使用片段。
我的应用程序中有大约30个活动,我希望此布局浮动在所有活动上方。我只是创建了一个包含2个活动的测试用例,以使问题简单易懂。
Activity A
和Activity B
有什么不同之处?为什么不只使用一个带有固定View
的Activity
,并调整其他所有内容呢? - Squonk