当前位置: 首页 > 知识库问答 >
问题:

如何在Android中检查屏幕是否未被点击?

柯曜文
2023-03-14

我知道如果你想检查是否有人点击了什么,你会这样做

if(event.getAction() == MotionEvent.ACTION_DOWN)

但是我想检查屏幕是否根本没有被点击。为了做到这一点,我会产生什么代码?

此外,作为附带说明,让Android应用程序中的所有类扩展View类是个好主意吗?

共有2个答案

郝昊东
2023-03-14

一种方法是将android: onClick="method"添加到布局xml中的根布局中。

在该方法中,可以将布尔变量更改为true(screenClicked=true)。

上官彬
2023-03-14

创建一个boolean变量,名为istouked并在您的顶部使用onTouchLisener大多数View实际上它是一个窗口,这就是您的View所在的位置,快速示例

getWindow().getDecorView().setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View arg0, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_UP){
                // i have been touched
                istouched = true;
                Toast.makeText(getBaseContext(), "you touched me?!! - i will tell my mom", Toast.LENGTH_SHORT).show();
                return true;
            }
            if(event.getAction() == MotionEvent.ACTION_DOWN){
                // you can implement this
                Toast.makeText(getBaseContext(), "shhh; i am touching", Toast.LENGTH_SHORT).show();
                return true;
            }
            return false;
        }
    });

所以这里的逻辑是如果istoukedfalse <罢工> 你的设备没有告诉她妈妈 这意味着它没有被触摸...

希望有帮助

 类似资料:
  • 我正在做一个关于Android Studio的项目。我需要在后台服务中检测屏幕是否被触摸(并弹出一条消息)。但是,在不影响用户使用智能手机的情况下,我无法在后台服务中检测屏幕是否被触摸。 当我说“后台检测”时,我的意思是应用程序的效果不会干扰用户在屏幕上所做的事情。我下面的进度应该解释一下我在这里的意思: 我做了一个应用程序,通过在Android系统中实现onTouchListener来检测用户是

  • 我偶尔收到以下信息: 这发生在具有表的页面中,其中的行延伸到视点之后。 我用来在表中选择随机行的方法 是否有一种方法来检查是否有元素在#Focus之后?

  • 问题内容: 如何检查a 是否被选中? 问题答案: 使用isSelected方法。 您还可以使用ItemListener,以便在选中或取消选中它时收到通知。

  • 在主屏幕上有一个按钮,可以播放特定的歌曲并改变按钮的背景图像。如果用户再次点击按钮(音乐播放时),则音乐应停止,按钮的背景图像应将其自身设置回常规位置。但程序似乎无法检测我的Mediaplayer是否正在播放。我错过了什么? 当我点击按钮时,它应该会设置背景图像并停止音乐,但它只是再次启动媒体播放器,背景图像保持不变。我不知道如何修复这个问题。它似乎每次都会创建一个新的媒体播放器

  • 问题内容: 我在我的项目中使用JobService。运行良好。但有时服务停止了。它不会再次重新启动。因此,如果没有运行,我将尝试分层JobService。但是我不知道如何检查JobService是否已经运行。请让我知道如何检查JobService是否正在运行。 我的工作服务课程: 我的实用程序类: 开始: 停止: 问题答案: 我找到了解决方案。 使用此方法,我们可以检查jobService是否正在

  • 问题内容: 有没有一种内置的方法来检查资源是否存在,或者我是否正在做类似以下的事情: 问题答案: 根据javadoc,您不需要尝试捕获:http : //developer.android.com/reference/android/content/res/Resources.html#getIdentifier%28java.lang.String,%20java.lang.String, %2