2016-04-22 7 views
6

Ich implementiere "Read Aloud" oder "Talkback" für eine App. Alles funktioniert mit contentDescription Text, aber mit Optionsmenü, fand ich nichts in Bezug auf contentDescription, möchte ich System lesen "Menu "+ item's name.Einstellen der Inhaltsbeschreibung für das Optionsmenü Android Talkback

EX: Mein Menü hat zwei Elemente: „Neuen Ordner erstellen“ und „löschen aktuelle Ordner“, zur Zeit, als ich einen Menüpunkt (Unterstützung Trackball und Bluetooth-Taste) konzentrieren, System kann genau das Menü sprechen Text. Aber ich will es spricht mehr wie „1: Menü Neue Ordner erstellen“ und „2: Löschen Menü aktuelle Ordner“.

Also, wie kann ich den gelesenen Text ändern? Wie kann ich die fokussierte menu item bekommen, wenn Bluetooth-Tastatur UP/DOWN Schlüssel drücken?

+0

Was passiert, wenn Sie btn.setContentDescription setzen ("Menü:" + "Create blabla"); und dann btn.requestFocus()? – JSBach

Antwort

7

Wie meine Untersuchung, in Android internen Quellcode, Klasse ActionMenuItemView.java Methode setTitle(CharSequence title), der Quellcode legt auch setContentDescription(title), so Android wird lesen Sie den Text Ihres MenuItem als Standard. Ich weiß nicht, warum der Kern in diesem Fall so unflexibel ist. für @sofakingforever answer

Danke:

aktualisiert.

Scheinen Google nur das setContentDescription(CharSequence contentDescription) Verfahren zur MenuItem Klasse auf 26 (Android O) API hinzugefügt.

+0

Haben Sie eine mögliche Lösung oder Idee gefunden? Können wir es mit einer Verlängerung überschreiben? Weil ich habe, glaube ich, ähnliches Problem, http://stackoverflow.com/questions/36971528/android-seekbar-talkback-talking-too-much – JSBach

+0

Sorry für späte Rückmeldung, aber ich habe immer noch keine Lösung zu meinem Problem. – NamNH

+0

keine Sorgen. Ja, ich habe es nicht. Also machte ich ein leeres Etikett und ging weiter. Wie es scheint, könnte Spotify es auch nicht gelöst haben. Sie hatten das gleiche Problem, als ich überprüft habe. – JSBach

1

Es scheint, sie haben soeben die setContentDescription(CharSequence contentDescription) Methode zur MenuItem Klasse auf API 26 (Android O)

+0

Ja, ich habe gesehen, dass diese Methode jetzt auf Android O Developer Preview verfügbar ist, aber nicht getestet wurde. Aber ich hoffe, das wird funktionieren. :). – NamNH

+0

Scheint gut zu funktionieren. – sofakingforever

+1

auch das Hinzufügen von 'app: contentDescription' (nicht' android: contentDescription') zum XML des Menüs scheint bei früheren Versionen für mich zu funktionieren. – sofakingforever

2

MenuItemCompat in den v4 Support-Bibliotheken eine auf Pre

android.support.v4.view.MenuItemCompat.setContentDescription(MenuItem menuItem, CharSequence contentDescription) 

Methode für die Abwärtskompatibilität hat -Oreo Geräte.