在自定义视图上启用对讲时,不会调用onTouchEvent

时间:2014-10-21 14:53:09

标签: android talkback

我正在为密码字段实现自定义键盘(通过自定义视图)并尝试添加辅助功能,因此当用户单击视图时,它应该发出选定的值。

在我的自定义键盘中,我需要来自MotionEvent的坐标,因此视图可以计算按下的是什么绘图(值)。

但是在这种情况下,当没有调用Talkback启用onTouchEvent方法时。只有当用户双击视图时才会调用。我试图添加自定义OnTouchListener但它不起作用。 setFocusable=truesetFocusableInTouchMode=true

2 个答案:

答案 0 :(得分:6)

对于那些遇到这个问题并寻找解决方案的人; 启用辅助功能(对讲)时,单击时不会调用*** Settings *** Library MySelenium2Library.py *** Test Cases *** Test 1 My Keyword 方法,而是在双击时调用。

要在启用辅助功能时捕获单击并/或覆盖此行为,应覆盖onTouchEvent类的onHoverEvent方法。通过使用此方法,您可以将{strong>向下单击<{1}},移动作为View向上作为{ {1}}。

此外,您可以通过修改已捕获ACTION_HOVER_ENTER的操作并将其发送到ACTION_HOVER_MOVE方法来覆盖此行为,如下所示:

ACTION_HOVER_EXIT

答案 1 :(得分:1)

启用TalkBack时,双击相当于单击。也就是说,只有当用户双击视图/小部件时才会调用onTouchEvent。