Android悬浮窗屏蔽悬浮窗外部所有的点击事件的实例代码
Android可以在所有应用上方添加View,就是给WindowManager添加一个View,在创建的View的时候可以给这个View设置LayoutParams(android.view.WindowManager.LayoutParams.LayoutParams())属性,默认是屏蔽View区域以外的所有点击事件,即在显示View的时候,屏幕的其它区域都不可点击,包括菜单和返回键等。
当给LayoutParams设置合适的flag后,其它区域就可以响应点击了。
示例代码:
/**
* 创建一个小悬浮窗。初始位置为屏幕的右部中间位置。
*
* @param context 必须为应用程序的Context.
*/
public static void createSmallWindow(Context context) {
WindowManager windowManager = getWindowManager(context);
int screenWidth = windowManager.getDefaultDisplay().getWidth();
int screenHeight = windowManager.getDefaultDisplay().getHeight();
if (smallWindow == null) {
smallWindow = new FloatWindowSmallView(context);
if (smallWindowParams == null) {
smallWindowParams = new LayoutParams();
smallWindowParams.type = LayoutParams.TYPE_PHONE;
smallWindowParams.format = PixelFormat.RGBA_8888;
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_NOT_FOCUSABLE;
smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP;
smallWindowParams.width = FloatWindowSmallView.viewWidth;
smallWindowParams.height = FloatWindowSmallView.viewHeight;
smallWindowParams.x = screenWidth;
smallWindowParams.y = screenHeight / 2;
}
smallWindow.setParams(smallWindowParams);
windowManager.addView(smallWindow, smallWindowParams);
LogPrinter.i(TAG, "添加了小浮标View");
}
}
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE;
这行代码控制View以外的区域可以响应点击和触摸事件。如果没有设置flag,则View以外区域不能响应
以上所述是小编给大家介绍的Android悬浮窗屏蔽悬浮窗外部所有的点击事件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
Android 复制文本内容到系统剪贴板的最简单实例(分享)
下面小编就为大家带来一篇Android 复制文本内容到系统剪贴板的最简单实例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-04-04
Android如何在一个TextView中设置不同字体大小、不同字体颜色封装
在开发过程中遇到过这样一种业务,有很多单行文本字体,字符串中每一部分的字体样式、大小、颜色都不相同,传统的做法是放多个TextView以达到效果,这篇文章主要介绍了android在一个TextView中设置不同字体大小、不同字体颜色封装,需要的朋友可以参考下2024-07-07
Android Studio 3.5版本JNI生成SO文件详解
这篇文章主要介绍了Android Studio 3.5版本JNI生成SO文件详解,想了解JNI的同学,可以参考下2021-04-04
Android 退出多Activity的application的方式方法
在开发过程中,我们常常需要一个退出功能,来退出该应用的所有Activity,本篇文章主要介绍了Android 退出多Activity的application的方式,有兴趣的可以了解一下。2017-02-02
通过FancyView提供 Android 酷炫的开屏动画实例代码
这篇文章主要介绍了通过FancyView提供 Android 酷炫的开屏动画的实现代码,需要的朋友可以参考下2017-12-12


最新评论