在所有活动之上添加视图

马修

我正在开发一个Android应用程序。我希望能够通过代码添加一个视图,该视图绘制在应用程序的所有活动的顶部。

我尝试将其添加到窗口管理器中:

LayoutInflater inflater = activity.getLayoutInflater();
layout = inflater.inflate(R.layout.toast_layout, null);

WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.gravity = Gravity.BOTTOM;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.type = WindowManager.LayoutParams.TYPE_TOAST;
final WindowManager mWindowManager = (WindowManager);
activity.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
                mWindowManager.addView(layout, params);

但是,像这样添加它,我面临两个问题:

1.退出我的应用程序时,布局仍然显示。

2.布局不响应Click事件。

是否有另一种解决方案来实现这一目标?

谢谢。

马修

为了管理视图的显示/视图,我使用了Gopal提出的解决方案。我附加了onStop和onResume事件,以便在退出应用程序时隐藏视图。

对于点击事件,我已经意识到类型吐司不响应点击事件。因此,我改变了类型

params.type = WindowManager.LayoutParams.TYPE_TOAST;

params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;

我也必须添加以下权限:

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章