我在設計可通過Talkback訪問的應用程序時遇到此問題。TalkBack,當進入警報對話框(或)提醒對話框的替代時,不會說「警告」
當android打開一個警告對話框時,它會讀出單詞「alert」,隨後是對話框的其餘部分。 我沒有使用警報對話框來顯示警報,有沒有什麼方法可以確保android直接讀出對話框而不讀出「alert」這個詞。
此外,如果我只是想顯示一些數據從屏幕彈出,並可以解除同樣的方式解除警報對話框,並且回話可以很好地與工作?
我在設計可通過Talkback訪問的應用程序時遇到此問題。TalkBack,當進入警報對話框(或)提醒對話框的替代時,不會說「警告」
當android打開一個警告對話框時,它會讀出單詞「alert」,隨後是對話框的其餘部分。 我沒有使用警報對話框來顯示警報,有沒有什麼方法可以確保android直接讀出對話框而不讀出「alert」這個詞。
此外,如果我只是想顯示一些數據從屏幕彈出,並可以解除同樣的方式解除警報對話框,並且回話可以很好地與工作?
基於this Google Groups post,只需重寫View.dispatchPopulateAccessibilityEvent方法即可。
例如:
@Override
public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
//super.dispatchPopulateAccessibilityEvent(event);
event.setBeforeText("My custom alert title text");
event.getText().clear();
return true;
}
我應該在哪個視圖上設置? – Onheiron 2015-08-25 09:23:47
[這是API級別4以來的視圖類的方法](http://developer.android.com/reference/android/view/ View.html#dispatchPopulateAccessibilityEvent%28 android.view.accessibility.AccessibilityEvent%29),所以你可以覆蓋它在任何視圖。 你可以看看[這個SO線程](http://stackoverflow.com/questions/ 30904554/dispatchpopulateaccessibilityevent-not-triggered)作爲一個例子如何做到這一點。 – 2015-08-25 10:21:20
反對什麼版本的話語提示你測試? – alanv 2014-11-24 23:27:05
我在運行最新版本的TalkBack 3.5.2的nexus 5上測試它。 – 2014-11-26 00:37:31
@JehoshaphAkshay你有沒有找到解決這個問題的方法? – user1064249 2015-04-28 16:11:59