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

在每个句子后禁用 TalkBack 使用提示(“双击以激活、双击并按住以长按”

高皓
2023-03-14

我正在使用Android应用程序的Appcelerator,

在我设置了辅助功能Hint属性后,对讲完成说出这个字符串,暂停并始终说“双击激活,双击并按住长按”。如何禁用此功能?尝试使用辅助功能标签或辅助功能值,但没有运气。

英寸xml文件

 <Label id='lblAppName' />

在. tss文件中

"#lblAppName":{
  accessibilityHint: 'Double tap here to activate me',
  text: L('app_name'),
  top:Alloy.Globals.sizes10,        
  left:Alloy.Globals.sizes58,
  right:Alloy.Globals.sizes57   
}

共有3个答案

陆弘新
2023-03-14

我的一些设备增加了“双击并长按”等功能。我只是想阅读我的整个段落,并添加“双击激活”而已。所以我这样写了;

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

https://medium . com/Android-Microsoft/Android-accessibility-resolving-common-talk back-issues-3c 45076 bcdf 6

这可能有帮助

ViewCompat.setAccessibilityDelegate(set_actions_button, object : AccessibilityDelegateCompat() {
    override fun onInitializeAccessibilityNodeInfo(v: View, info: AccessibilityNodeInfoCompat) {
        super.onInitializeAccessibilityNodeInfo(v, info)
        info.addAction(AccessibilityActionCompat(
            AccessibilityNodeInfoCompat.ACTION_CLICK, "Edit note"))
        info.addAction(AccessibilityActionCompat(
            AccessibilityNodeInfoCompat.ACTION_LONG_CLICK, "Copy note"))
    }
})
姬熙云
2023-03-14

对讲机宣布这一点是因为它检测到您的控制是可以与之交互的。一个按钮。给定您的标记,特别是“AccessibilityInt”,我假设它是Appcelerator属性,看起来您的控件确实是某种按钮。为什么要禁用此有用的公告?

我的答案是删除您的提示,并让Android操作系统以它想要的方式处理此按钮。您的提示并不比TalkBack的“提示”更有用,最好让辅助技术在可能的情况下共享角色和教学信息。

让TalkBack不宣布这一点的唯一方法是让你的控件是非交互的。如果TalkBack检测到一个控件可以被交互(点击),它会宣布这些指令,你不能也不应该做什么。

 类似资料:
  • 在我的应用程序中,我有一个按钮。单击和双击按钮后,将执行单独的操作。我该怎么做?谢谢

  • 编辑:底部的解决方案 这是一个跳棋游戏。单击一个按钮后,它等待单击第二个按钮与之交换。然而,有时你可能不想移动那个按钮,但一旦你点击了它,就没有回头路了,因为我无法禁用它。 在这里的其他帖子中,我看到人们使用 这只是使它在第一次单击后不可见。 这什么都干不了。 这也没什么用。编辑:所有这些方法都用true和false进行了尝试。 私有无效交换(){ 但你也需要 这样它就重新启用了它,或者其他什么,

  • 启用 Talkback 并单击我的应用中的某个元素视图后,公告将背诵: 我加入的描述停顿了一下,然后说:“双击激活”。 我在这里找到的示例中使用了可访问性委托:https://stackoverflow.com/a/39480983/5544859 但它只是代替了我的最后一个词,而不是整个句子。 例如,它在说:布拉布拉布拉。(暂停),然后双击“自定义字符串” 我想替换整个句子。

  • 多亏了来自NickFroty的youtube教程,我能够在php中创建一个合适的注册系统,我已经能够将他的代码从mysql转换为mysqli,并且能够在用户注册后通过电子邮件发送激活链接。 下面的代码将在数据库中插入注册详细信息,并在用户注册后将消息和激活链接发送到用户的电子邮件。 但是我现在有个问题。如果我点击链接,它会将用户导航到页面。 我的问题是:在用户点击激活链接后,它如何激活用户的帐户?

  • 本文向大家介绍Unity实现鼠标双击与长按的检测,包括了Unity实现鼠标双击与长按的检测的使用技巧和注意事项,需要的朋友参考一下 在unity中,我们会遇到很多的关于鼠标的事件。虽然unity中给出了相关的点击与拖拽方法,可是这些方法只对UI和碰撞体适用。那么,如何直接用代码实现鼠标的双击与长按的检测呢? 首先我们需要几个变量,用来保存时间,以判断是长按还是点击。 先来说说这些变量的用处。mai

  • 本文向大家介绍双击ALV网格以调用事务并在SAP中传递信息,包括了双击ALV网格以调用事务并在SAP中传递信息的使用技巧和注意事项,需要的朋友参考一下 您可以使用字段“ wa_selrow”来定义单击哪一列。此外,将网格从行选择模式更改为单元格选择模式。 wa_selrow包含它在哪个字段中调用事务,无论您单击哪个字段,都可以根据wa_selrow的内容来控制对事务的调用。 您也可以打开调试器,然