Android 如何在活动顶部覆盖视图?

Android 如何在活动顶部覆盖视图?,android,android-activity,view,android-context,Android,Android Activity,View,Android Context,有没有办法在当前活动的视图上动态添加视图?需要注意的一点是,这需要从另一个只能访问活动上下文的类中完成 例: PopupClass是否有一种方法可以在只知道上下文的情况下向当前活动添加视图 PopupClass不知道有关该活动的任何其他信息,也不能将视图传回ActivityClass以供ActivityClass添加。我使用自定义对话框进行此操作 为此,我使用了相对布局。 我想你也可以使用框架布局。 请看这里: 为什么不让PopClass扩展活动,并在PopupClass活动的AndroidM

有没有办法在当前活动的视图上动态添加视图?需要注意的一点是,这需要从另一个只能访问活动上下文的类中完成

例:

PopupClass是否有一种方法可以在只知道上下文的情况下向当前活动添加视图


PopupClass不知道有关该活动的任何其他信息,也不能将视图传回ActivityClass以供ActivityClass添加。

我使用自定义对话框进行此操作


为此,我使用了相对布局。 我想你也可以使用框架布局。 请看这里:

为什么不让PopClass扩展活动,并在PopupClass活动的AndroidManifest.xml属性中,设置
android:theme=“@android:style/theme.Dialog”

然后在ActivityClass中,您可以使用

Intent i = new Intent("PopupClass.class");
startActivityForResult(i);
当PopupClass活动完成时,它可以在另一个Intent和finish中设置返回数据


然后在ActivityClass中覆盖ActivityResult(…),并处理返回的意图。

您希望PopupClass添加到ActivityClass中的“视图”是什么?它将是一个横幅,在单击时可以执行某些操作。因此,几乎是一个背景可绘制的视图设置为图像,并且还有一个与之关联的clickListener。感谢您的回复,但我认为这并不能解决问题。对话框示例是一个将阻止当前活动的活动。当前活动应该保留焦点,只需将新视图添加到其中。对话框确实会覆盖活动,但不会阻止活动代码的执行。如果您不希望任何东西掩盖您的活动,那么您唯一的解决方案就是为布局分配一个ID,并以编程方式更新视图。这是混乱的,但使它更难维持你的看法。例如,请参阅:在wordpress教程中,查找用于编程实现的行
,参考下面的LinearLayoutActivity类,他向您展示了如何从头开始以编程方式创建布局。但是,由于您已经有了一个布局(您只是想调整它),请在XML中为布局分配一个ID,然后在活动中使用
findViewById()
获取对布局的引用。然后,就像在教程中一样,以编程方式创建小部件。小部件准备好后,使用layout.addView(小部件)
Intent i = new Intent("PopupClass.class");
startActivityForResult(i);