Android:如何防止任何触摸事件从 View 传递到其下方?

标签 android

具体使用下面的代码,有没有办法修改,让这个新创建的view下的activity不接收任何手势?

View v1 = new View(this);    
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
 1000,
 50,
 WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
 WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
 PixelFormat.OPAQUE);

params.gravity = Gravity.BOTTOM;
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
wm.addView(v1, params);

最佳答案

onTouchEvent 方法添加到顶部位置的 View ,然后返回 true。 True 将告诉事件冒泡该事件已被消耗,因此防止事件冒泡到其他 View 。

protected boolean onTouchEvent (MotionEvent me) {
    return true;
}

对于 v1 你会做一个导入:

import android.view.View.OnTouchListener;

然后设置onTouchListener:

v1.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return true;
    }
});

关于Android:如何防止任何触摸事件从 View 传递到其下方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8433387/

相关文章:

android - 在磁盘上使用 picasso 加载图像

android - 为什么我不能定义 <T where T : CharSequence, T : Appendable> in Kotlin?

java - 我如何将字符串数组项分配给另一个类中的 edittext ,以便在用户模式下用户更改 edittext 时,项目也会更改?

android - Android工具

android - textAppearance 属性中的资源 ID 不能为空字符串(在 'text' 处,值为 '?')

android - 以编程方式更改小部件的渐变背景

android - Zip 提取失败

android - 如何向Android真机发送 "geo fix"命令?

android - 在 Android 项目中找不到 ND4J 共享库

android - 如果单击新图像,则将先前选择的图像替换为原始图像