我正在开发一个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] 删除。
我来说两句