在Android中如何将活动显示为屏幕底部的弹出窗口?

3
我想在屏幕底部显示一个活动作为弹出窗口,我该怎么实现?
我设定了一个延迟后以弹出窗口的形式打开该活动。为此,我使用了handler并在清单中设置了Android主题为Dialog,而且它也确实起作用。但它是在屏幕中央显示的,而我希望它显示在屏幕底部。
有人能帮我吗?
以下是我的代码:
Handler handler=new Handler();
handler.postDelayed(new Runnable(){public void run(){Intent intent=new Intent(getApplicationContext(),Schedule_Popup_Activity.class); startActivity(intent);}}, delay);

我在清单XML文件中所做的更改是:

<android name="Schedule_Popup_Activity
android:theme="@android:style/Theme.Dialog">

如何将此活动设置为屏幕底部,并使其高度和宽度类似于弹出窗口大小?谢谢提前...
PlacementMode=Bottom用于将弹出窗口设置在底部,还有类似于活动的东西吗?

弹出窗口出现时,您想在后台显示什么? - Sree
实际上,我将在我的第一个活动中显示一些数据,并在延迟几秒钟后弹出带有3个图像按钮的活动,并在其上执行操作,同时我想显示两个活动。 - user3350830
就像Any.do应用程序中的屏幕一样。在一个活动中显示一些数据,并提供弹出活动,以接受、拒绝或重新安排操作(根据我的项目要求)。 - user3350830
1
创建一个看起来像弹出窗口的布局,并将其作为活动,这是一种方法。我使用了一个带有对话框主题的普通活动,并将其背景设置为透明,并覆盖onAttachActivity事件以按照自己的意愿设置我的新活动的位置、宽度和高度。 - Sree
1
为什么不制作一个自定义弹出窗口,并将您的活动布局提供给该弹出窗口,并将弹出窗口的重力设置为底部? - codeRider
显示剩余3条评论
2个回答

2

为了完成上面的代码,我做了一些更改。我编写了以下样式:

<style name="MyFloatingWindow">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowNoTitle">true</item>

<item name="android:gravity">bottom</item>

并将其用作清单文件中的:

android:theme="@style/MyFloatingWindow">


0

你可以考虑使用WindowManager,并通过addView()方法向WindowManager添加视图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接