2016-04-22 5 views
6

アプリに「Read Aloud」または「Talkback」を実装しています。すべてがcontentDescriptionテキストで動作していますが、オプションメニューでは、contentDescriptionに関連するものは何も見つかりませんでした。システムの読み込みを希望します"Menu "+ item's nameオプションメニューのコンテンツの説明を設定するandroid Talkback

EX:私のメニューは、2つの項目があります:「新規フォルダの作成」と「現在のフォルダを削除」、現在、私はメニュー項目(サポートトラックボールとBluetoothキー)を集中したときに、システムが正確にメニューの話をすることができますテキスト。しかし、私はそれをもっと話したい「1:メニューは、新規フォルダの作成」と「2:メニューは、現在のフォルダを削除」。

ですから、どのように読み込みテキストを変更できますか? BluetoothキーボードがUP/DOWNキーを押すと、どのようにフォーカスを取得することができますmenu item

+0

btn.setContentDescription( "メニュー:" + "blablaの作成")を設定するとどうなりますか? btn.requestFocus()? – JSBach

答えて

7

Androidの内部ソースコードのクラスActionMenuItemView.javaの方法setTitle(CharSequence title)の場合、ソースコードもsetContentDescription(title)と設定されているため、AndroidはMenuItemのテキストをデフォルトとして読み込みます。私はなぜコアがこのように柔軟性がないのか分かりません。

更新日:@sofakingforever answerため

感謝を。

見てGoogleは、MenuItemクラスのAPI26(Android O)にsetContentDescription(CharSequence contentDescription)メソッドを追加しました。

+0

あなたは可能な解決策やアイデアを考え出しましたか?私たちはそれを上書きすることができますか?私は、私は信じて、同様の問題は、http://stackoverflow.com/questions/36971528/android-seekbar-talkback-talking-too-much – JSBach

+0

残念なことにフィードバックのため申し訳ありませんが、私はまだ私の問題では解決策がありません。 – NamNH

+0

心配なし。はい、私も持っていません。そこで空のラベルをつけて移動しました。 Spotifyはそれを解決できなかったようだ。彼らは私がチェックしたときに同様の問題を抱えていた。 – JSBach

1

彼らがちょうど前の後方互換性のため

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

方法がありAPI 26(アンドロイドO)v4のサポートライブラリで

+0

ええ、私はこのメソッドが 'Android O Developer Preview'で利用可能だが、テストされていないのを見ました。しかし、これがうまくいくことを願っています。 :)。 – NamNH

+0

うまく動作するようです。 – sofakingforever

+1

また、メニューのXMLに 'app:contentDescription'(' android:contentDescription'ではなく)を追加すると、私の以前のバージョンでうまくいくようです。 – sofakingforever

2

MenuItemCompatにMenuItemクラスにsetContentDescription(CharSequence contentDescription)メソッドを追加したようです-Oreoデバイス。

関連する問題