原因1:
使用了View.setOnTouchListener来获取View的点击事件。
盲人模式应该是通过某种手段使我们的OnTouchListener失效了,去执行了系统内部的一些方法,从而导致View点击无响应。因此将setOnTouchListener改为setOnClickListener可解决此问题。
原因2:
自定义的View面积太小。
开启盲人模式后,可以发现当单击某个View时,系统会显示红框将当前点击的View给框出来,并进行播报。当点击到的View太小,红框框不住,有可能会使View点击无响应。增加View大小,可解决多次点击只有偶尔一次有响应的问题。
另外,关于自定义View的播报,一般是“未知标签”,可以通过View.setContentDescription()来设置播报内容。