Android(安卓)悬浮窗弹不出输入法的踏坑之路
16lz
2021-01-25
前言
在进行悬浮窗开发过程中,曾经遇到EditText输入框弹不出输入法的问题,现在就来将踏坑之路分享一下
1.WindowManager 实例化
WindowManager mWindowManager = (WindowManager) mContext.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
必须通过Applictaion来获取窗口服务,不能通过Context上下文来获取窗口服务
2.flags属性的设置
LayoutParams.FLAG_NOT_TOUCH_MODAL的意思是: /** 窗口标志:即使该窗口是可对焦的(其#FLAG_NOT_FOCUSABLE未设置), 允许窗口外的任何指针事件发送到其后面的窗口。 否则它将消耗所有指针事件本身,而不管它们是否在窗口内。 */ public static final int FLAG_NOT_TOUCH_MODAL = 0x00000020;即不会阻挡后面的点击事件
即:
LayoutParams params = new LayoutParams(); params.x = screenWidth - 400; params.y = screenHeight / 2 + 150; params.width = LayoutParams.WRAP_CONTENT; params.height = LayoutParams.WRAP_CONTENT; params.gravity = Gravity.LEFT | Gravity.TOP; params.type = LayoutParams.TYPE_APPLICATION_OVERLAY; params.format = PixelFormat.RGBA_8888; params.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL; //设置 WindowManager的参数flags属性为 params.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL; mFloatMainView.setLayoutParams(params); windowManager.addView(mFloatMainView, params);
这样就可以在 悬浮窗弹出输入法
更多相关文章
- ImageButton与Button
- Android(安卓)中压力测试工具Monkey的用法
- Android(安卓)ueventd解析
- Android(安卓)输入系统(二)EventHub
- Android(安卓)Processdialog 用法
- Android跨进程通信IPC之4——关于"JNI"的那些事
- Android事件分发,拦截,处理机制
- Android(安卓)广播大全 Intent Action 事件
- [AndroidTips]Android(安卓)how to check screen off 判断屏幕是