Android 不同区域设置的 TextView 的可访问性
Android accessibility for TextView with different locales
在我的应用中,我为 TextView 设置了 android:text="@string/myText"。此 myText 是根据本地化 (English/German) 从 strings.xml 中选取的。
对于英语:SETTINGS
对于德语:EINSTELLUNGEN
启用 TalkBack 后,Android 宣布设置(语言环境为英语)但不宣布 EINSTELLUNGEN (语言环境是德语)。
会是什么原因?
文本的大写字母与此有什么关系吗?
下面是我在 xml:
中的 TextView
<TextView
android:id="@+id/settings_text"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:text="@string/settings"
android:textColor="@color/st_white"
android:textStyle="bold"
android:textSize="15sp"/>
"settings" 字符串存在于英语(默认)和德语版本的两个不同 strings.xml 文件中。
英语:values/strings。 xml
<string name="settings">SETTINGS</string>
德语:values-de/strings.xml
<string name="settings">EINSTELLUNGEN</string>
如果打开 "Display speech output" 设置(TalkBack 设置 -> 开发人员设置),我可以看到显示,但听不到同样的声音。
问题已通过更新 Google Talkback 和 Google Text-to-Speech 解决游戏商店。
更新两者后,我必须关闭对讲(如果已经打开),更改设备区域设置(在我的例子中为 Deutsch 以表示德语),然后打开对讲。这将自动下载语言环境文本到语音的更新。
在我的应用中,我为 TextView 设置了 android:text="@string/myText"。此 myText 是根据本地化 (English/German) 从 strings.xml 中选取的。
对于英语:SETTINGS
对于德语:EINSTELLUNGEN
启用 TalkBack 后,Android 宣布设置(语言环境为英语)但不宣布 EINSTELLUNGEN (语言环境是德语)。
会是什么原因?
文本的大写字母与此有什么关系吗?
下面是我在 xml:
<TextView
android:id="@+id/settings_text"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:text="@string/settings"
android:textColor="@color/st_white"
android:textStyle="bold"
android:textSize="15sp"/>
"settings" 字符串存在于英语(默认)和德语版本的两个不同 strings.xml 文件中。
英语:values/strings。 xml<string name="settings">SETTINGS</string>
德语:values-de/strings.xml <string name="settings">EINSTELLUNGEN</string>
如果打开 "Display speech output" 设置(TalkBack 设置 -> 开发人员设置),我可以看到显示,但听不到同样的声音。
问题已通过更新 Google Talkback 和 Google Text-to-Speech 解决游戏商店。
更新两者后,我必须关闭对讲(如果已经打开),更改设备区域设置(在我的例子中为 Deutsch 以表示德语),然后打开对讲。这将自动下载语言环境文本到语音的更新。