android 窗口覆盖,Android覆盖布局位于接收触摸的所有窗口之上

我创建了一个使用以下代码显示在所有应用程序和窗口之上的视图:

//These three are our main components.

WindowManager wm;

LinearLayout ll;

WindowManager.LayoutParams ll_lp;

//Just a sample layout parameters.

wm = (WindowManager) getSystemService(WINDOW_SERVICE);

ll_lp = new WindowManager.LayoutParams();

ll_lp.format = PixelFormat.TRANSLUCENT;

ll_lp.height = WindowManager.LayoutParams.FILL_PARENT;

ll_lp.width = WindowManager.LayoutParams.FILL_PARENT;

ll_lp.gravity = Gravity.CLIP_HORIZONTAL | Gravity.TOP;

//This one is necessary.

ll_lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;

//Play around with these two.

ll_lp.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;

ll_lp.flags = ll_lp.flags | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;

//This is our main layout.

ll = new LinearLayout(this);

ll.setBackgroundColor(android.graphics.Color.argb(50, 255, 255, 255));

ll.setHapticFeedbackEnabled(true);

ll.setOnTouchListener(new OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

Toast.makeText(getApplicationContext(), "TOUCHED", Toast.LENGTH_SHORT).show();

return false;

}

});

//And finally we add what we created to the screen.

wm.addView(ll, ll_lp);

由于设置了FLAG_NOT_TOUCHABLE,因此它仅显示视图,但不会接收任何触摸事件.视图后面的应用程序接收所有触摸事件.但是,如果我没有设置标志,那么只有视图接收触摸,导致其后面的应用程序不接收任何标志.

有没有办法让视图和它背后的应用程序接收触摸?我试过回复假,但仍然一样.

任何帮助将不胜感激!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值