我已经创建了一个service
它将覆盖整个屏幕上的图像。Android创建“鬼”图像(触摸)
这部分是将在整个屏幕的顶部覆盖有图像的代码:
@Override public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
img = new ImageView(this);
img.setImageResource(R.drawable.image); // Image is .png format
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.CENTER | Gravity.CENTER;
params.x = 0;
params.y = 0;
windowManager.addView(img, params);
}
然而,在不可触及该图像覆盖的任何空间。我想要的形象只是叠加,而不会影响屏幕上的任何其他成分,类似于这样做:
我如何可以使图像可触摸(触摸通)下的区域?
编辑
看来,图像的透明空间填充的正方形,并覆盖在屏幕上(FYI)。 所以我的最终目标是,使图像触摸通过。
我已经尝试过popupWindow
类,由几个SO用户推荐,但其目的不符合我的需求,并且不起作用。
你可以在ImageView背景下使用像#99000000这样的背景颜色的RelativeLayout,对Alpha颜色使用重要部分“#99”或者使用透明颜色,并将onClick事件添加到RelativeLayout中 – Aspicas
如果在onTouchListener中添加'return false'的imageview,所以触摸事件可以传递给相对布局呢? –
在onTouchListener上设置'return false'不起作用。看起来图像引起了问题:空白。有没有办法删除空白? – jyoon