整个活动的Android浮动视图(Android floating view across acti

2019-09-18 03:58发布

需求

我有2个活动的应用程序,说A和B,与像导航A->BB->A (上背面印刷中)。 我的要求是

  • 我想一个视图/布局浮动在屏幕上,而不管是哪个活动是当前可见。 我膨胀上的应用程序开始(活性A的的onCreate)该视图中,从A-> B的过渡期间保持在屏幕上的静态和当B是在屏幕上。
  • 所以自然该视图应被充气只有一次(当应用程序启动A的,的onCreate)。

我发现了什么

我做了一些搜索,并从我能找到,有2种方法在android系统重用布局

  • 使用 <include>

    这似乎只是写常用的UI元素的XML代码的工具。 它被夸大每次在父布局使用时间。

  • 使用 ViewStub

    我没有使用ViewStub一些研究,似乎还了重用代码段在很多布局。 这也需要我们每一个使用它的版面,但它只有当我们让他们在运行时可见被充气时间进行充气。

我要求另一个提示

对于熟悉iPhone开发人员可以添加视图对UIWindow ,它在那里停留,不论其中UIViewController是当前活动。 我想在我的应用程序具体行为。

我原来的设置

我瞄准了Android 2.1及以上。 看来Fragment可从API级别11(Android 3.0的)及以上。 一种选择是使用的Android兼容性库 ,使的使用Fragment在旧版本。 我目前正在研究,现在上。 但我也想知道是否有可用于满足我的要求,而不是改变我的整个项目和使用片段的任何其他方法。

我在我的应用程序大约30多活动,我想这个布局漂浮在所有的人。 我只是做了一个测试案例2个活动,使这个问题简单,轻松。

Answer 1:

解决方案1:的FrameLayout

我想你想用什么FrameLayout 。 的FrameLayout被设计为阻挡的区域中的屏幕上显示单个项目。 孩子的意见被描绘在一个堆栈,顶部最近添加的孩子。

http://developer.android.com/reference/android/widget/FrameLayout.html

然后在这里阅读有关,你可以在你的活动使用使用后退按钮活动之间来回翻转后堆栈:

http://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

解决方案2:片段交易

而不是代码两个独立的活动,码两个片段的单个活动。 下面是从一个Blurb的片段文件:

“A片段必须始终嵌入在活性和片段的生命周期是直接受主机活动的生命周期,例如,当活动暂停,所以在它的所有片段,并且当活动被破坏,因此是所有片段然而,一个活动运行(这是在恢复生命周期状态),同时,可以独立操作每个片段,如添加或删除它们。 当您执行,这样的片段交易,也可以将其添加到后退堆栈这由活动的每个后堆在活动条目管理是所发生的片段交易的记录。背面堆栈允许用户翻转片段交易(导航向后),通过按压返回按钮“。



文章来源: Android floating view across activities