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

如何使用对讲可访问性Android禁用视图中的消息“双击”?

辛星宇
2023-03-14

当视图具有事件单击并启用对讲时。我需要禁用视图中的“双击”音频。

我在android开发中使用可访问性。

请问我该怎么做?

共有3个答案

堵飞鸿
2023-03-14

Kiran的回答真的很有帮助,但我的一些设备仍然添加了“双击并按住长按”等功能。我只是想阅读我的整个段落,并添加“双击激活”而已。所以我这样写了;

ViewCompat.setAccessibilityDelegate(<YOUR_TEXTVIEW>, object : AccessibilityDelegateCompat() {
            override fun onInitializeAccessibilityNodeInfo(host: View, info: AccessibilityNodeInfoCompat) {
                super.onInitializeAccessibilityNodeInfo(host, info)
                info.removeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK)
                info.isClickable = false
                info.isLongClickable = false
                info.text = "${<YOUR_TEXTVIEW>.text}\n" + "Double tap to activate."
                host.isLongClickable = false
            }
        })
姜天宇
2023-03-14

使用

ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.addAction(AccessibilityNodeInfoCompat.ACTION_FOCUS);
        }
});

在https://stackoverflow.com/a/47875696/1915831查看更多细节

尚俊楠
2023-03-14

如果您在这一行和这里检查google talkback源代码,则在这里和这里使用了字符串资源(“双击”)

因此,您应该移除< code>AccessibilityActionCompat。ACTION_CLICK操作,并将节点信息中的< code>isClickable设置为< code>false。

ViewCompat.setAccessibilityDelegate(view, object : AccessibilityDelegateCompat() {
        override fun onInitializeAccessibilityNodeInfo(host: View, info: AccessibilityNodeInfoCompat) {
            super.onInitializeAccessibilityNodeInfo(host, info)
            info.removeAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK)
            info.isClickable = false
        }
    })

测试了这个,它应该有效。

 类似资料:
  • 我有这个应用程序与WebView显示HTML内容。 在我做了一些相当大的更改之后,对讲的可访问性出现了一些“问题”,特别是文本到语音和触摸探索,仅在4.4设备上(不在5.0上)。 触摸一段(段落)文本有时会起作用,但有时会产生点击声,没有输出,文本也不会像应该的那样用选择矩形突出显示。 在5.0上,一切都很好:触摸一段文本会在其周围绘制一个选择,文本就会被说出。 我知道4.4上的回归与我的一些更改

  • 启用对讲后,是否有办法将辅助功能焦点手册设置为特定视图?例如,当我的活动开始时,我希望TalkBack自动聚焦于某个按钮(视图周围的黄色框)并读取其内容描述。 到目前为止,我所尝试的: 请求焦点()似乎只是请求输入焦点,与可访问性焦点无关。我也尝试过: 这些似乎都不起作用。

  • 所以,我有一个用Java编写的Android应用程序。我希望能够在可访问性选项中为视障人士使用对讲。当用户在活动中滑动时,对讲“聚焦”在各种组件上,我希望能够知道这一点: 1)如何知道它是否“聚焦”在某个组件上(例如,textview)? 2) 当它“聚焦”在某个组件上时,如何中断它播放我自己的音频文件,然后返回,让对讲机再次接管? 提前感谢您! ----编辑 为了更清楚一点,以防你不熟悉对讲..

  • 我目前正努力用更多的发声来创建。背景是: 我想为用户在左右选项卡上添加“未选择选项卡[选项卡名称],单击两次以选择”和“已选择选项卡[选项卡名称]”到中间位置 我还想在单击选项卡时添加一个发声,以警告用户其内容已更改,并告诉聚焦中心选项卡 通过重写所有需要的类(例如:,,),并直接在选项卡上添加右侧的,我已经部分成功地完成了这项工作。它运行得相当好,但我不满意。这些类的维护需要针对Android主

  • 我想以编程方式启用/禁用设置->辅助功能选项下列出的辅助功能服务。 我可以像下面这样开始可访问性意图: 但是对于如何通过我的代码启用视图中列出的服务,我没有任何想法。 请把你的观点告诉我。

  • 我想访问messages.properties的值,但将从javascript获得的一些值连接到它。我正在尝试做这样的事情: 我有mesagges.properties在这里输入代码 我很感激你的帮助