Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:进入/退出触摸模式时是否可能收到通知?_Android_View_Touch - Fatal编程技术网

Android 安卓:进入/退出触摸模式时是否可能收到通知?

Android 安卓:进入/退出触摸模式时是否可能收到通知?,android,view,touch,Android,View,Touch,当系统进入触摸模式时,我想知道哪个小部件会失去焦点。当系统退出触摸模式时,我还想知道哪个小部件将获得焦点。覆盖onFocusChange并不能让我满意,因为它不能告诉我TouchMode的变化,因为它可以发生在每一种模式中,比如触摸、轨迹球、按键导航等等 SDK说只有一个API View.isInTouchMode。那么,有可能检测到触摸模式的变化吗?很长时间,但您可能需要手动维护状态。所以你保留了一个a标志,比如说isTouchMode,你可以在每次触摸任何小部件时设置它,当某个小部件得到焦点

当系统进入触摸模式时,我想知道哪个小部件会失去焦点。当系统退出触摸模式时,我还想知道哪个小部件将获得焦点。覆盖onFocusChange并不能让我满意,因为它不能告诉我TouchMode的变化,因为它可以发生在每一种模式中,比如触摸、轨迹球、按键导航等等


SDK说只有一个API View.isInTouchMode。那么,有可能检测到触摸模式的变化吗?

很长时间,但您可能需要手动维护状态。所以你保留了一个a标志,比如说isTouchMode,你可以在每次触摸任何小部件时设置它,当某个小部件得到焦点时取消设置它

使用ViewTreeObserver.addOnTouchModeChangeListener。当模式改变时,它会告诉你


它应该可以工作,但也很乏味。thx,还有更好的解决方案吗?它仍然不起作用。轨迹球和触摸屏都使用MotionEvent,我不知道小部件是否真的被触摸过。