android - Android 中启用对讲时的 Ontouch 事件

标签 android coordinates talkback ontouch

我对 Android 还很陌生。我在启用对讲时处理触摸事件时遇到问题。

我正在 android 6 、galaxy S6 上进行测试:

首先:我已在设备上激活语音支持(设置\辅助功能\视觉\Talkback)。

第二个:在页面上,双击屏幕上的图标,它没有显示正确的坐标,似乎保留了之前的值:

这是我的代码的一部分,双击时 x 和 y 不会改变:

characterCircle.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            pinBlock.setLastPinDigit("");
            int [] xLoc = characterCircle.getxLoc();
            int [] yLoc = characterCircle.getyLoc();
            String [] zValue = characterCircle.getzValue();


            if(xLoc == null){
                return false;
            }
            float x = event.getX();
            float y = event.getY();

            int boundaryX = characterCircle.getmRadius() / 13; 
            int boundaryY = characterCircle.getmRadius() / 13;

我尝试过 getRowX() 和 getRowY() ,但它们在我的情况下不起作用。因为我不想有与屏幕相关的位置..

请帮助我解决这个问题。

非常感谢

最佳答案

TalkBack 捕获触摸事件并将其转换为其他 AccessibilityEvent,后端可以根据操作系统版本以多种方式实现这些事件。在这些中,您都不应该依赖于单击/双击/任何触摸事件的位置。它可能是确定性的,但无论如何都不重要。您可以在一定程度上传递触摸手势,但仅限于与触摸相关的较长事件,例如滑动。特别是,依赖于自定义触摸监听器的控件的任何方面都可能被捕获触摸交互的 AT 完全破坏。

关于android - Android 中启用对讲时的 Ontouch 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43731825/

相关文章:

java - 代码中最好的 "identifying markers"有助于快速导航到代码中的某个位置?

android - 让您的 Android 应用程序作为预安装应用程序运行

Android OptionsMenu问题,背景总是透明的

r - 识别位于纬度和经度坐标内的邮政编码

android - 多语言内容描述

java - 某些 Android 设备在 3G 中出现 HTTPS 异常

drag-and-drop - SVG 组翻译问题

android - 如何格式化GPS经纬度?

Android 通知未通过 TalkBack 播报

android - 操纵不适用于 Talkback 的 Android 应用程序