簡體   English   中英

如何使用對講輔助功能 android 在視圖中禁用消息“雙擊”?

[英]How do it disable message "double on tap" in view using talkback accessibility android?

當視圖具有事件單擊並啟用對講時。 我需要在視圖中禁用音頻“雙擊”。

我在 android 開發中使用輔助功能。

請問我該怎么做?

如果你使用谷歌在對講系統的源代碼行, 在這里,字符串資源(“槍王”)已用於在這里這里

因此,您應該刪除AccessibilityActionCompat.ACTION_CLICK操作並將節點信息中的isClickable設置為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
        }
    })

我對此進行了測試,它應該可以工作。

使用

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查看更多詳細信息

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
            }
        })

要禁用,您需要使用setClickable(false) !!!如果您在視圖上使用setOnClickListener() ,音頻“雙擊”將再次出現

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM