我試圖改變TalkBack在通過可訪問性關注ImageView時發佈的文本。在Android中改變talkback對話的文字
Android的文檔指出,我們應該創建一個AccessibilityDelegate,並覆蓋onPopulateAccessibilityEvent(我使用的是支持庫,因爲我也支持薑餅)
因此,我的代碼如下:
public static void setImageDelegate(View view) {
AccessibilityDelegateCompat delegate = new AccessibilityDelegateCompat() {
@Override
public void onPopulateAccessibilityEvent(View host, AccessibilityEvent event) {
event.getText().add(event.getContentDescription() + ", image");
}
};
ViewCompat.setAccessibilityDelegate(view, delegate);
}
當我在我的imageview上調用此函數時,委託被設置,但修改後的文本未被讀取。它只是讀取原始內容描述。我做錯了什麼或缺少關於可訪問性功能的東西?
逐句通過代碼,它似乎是添加正確的文本,但仍然沒有改變口頭文字。
注意:以上是一個人爲的例子,可以使用內容描述,但我試圖找出爲什麼它不工作,然後我嘗試自定義視圖。
感謝您的答覆阿蘭夫。很多時候,我在覆蓋onInitializeAccessibilityNodeInfo時遇到了問題。我提交了一個問題:https://code.google.com/p/android/issues/detail?id=76423&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars,你會碰巧知道這件事嗎? – 2014-09-23 21:46:18
該問題目前分配給我。我們正在研究它! – alanv 2014-09-24 04:59:25
真棒,感謝您的幫助! – 2014-09-24 06:45:24