gpt4 book ai didi

android - 清除 FLAG_NOT_TOUCHABLE 后接收过去的事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:11 26 4
gpt4 key购买 nike

我有一个 Activity ,我想在一段时间内避免用户触摸按钮。

我做这个:

WindowManager.LayoutParams params = getWindow().getAttributes();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_FULLSCREEN);

getWindow().setAttributes(params);

效果很好,但是当我回来接收触摸事件时:

WindowManager.LayoutParams params = getWindow().getAttributes();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setAttributes(params);

在不可触摸期间,我接收与用户触摸相关的所有事件。

知道如何丢弃这些事件吗?

最佳答案

我遇到了同样的问题,但我想出了一个解决方法,没有弄乱窗口标志。试试这个:

@Override
public boolean dispatchTouchEvent (MotionEvent ev){
if(activityTouchable == false)return true;
else return super.dispatchTouchEvent(ev);
}

@Override
public boolean dispatchKeyEvent (KeyEvent event){
if(activityTouchable == false)return true;
else return super.dispatchKeyEvent(event);
}

关于android - 清除 FLAG_NOT_TOUCHABLE 后接收过去的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9031392/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com