我有一个问题以上的android 12,使用AppCompatDelegate设置传统的中文语言.
其他语言运行良好。
这里是代码,
val appLocale: LocaleListCompat = LocaleListCompat.forLanguageTags("zh-Hant")
// Call this on the main thread as it may require Activity.restart()
AppCompatDelegate.setApplicationLocales(appLocale)
Locale.xml:
<locale-config xmlns:android="http://schemas.android.com/apk/res/android">
<locale android:name="en"/>
<locale android:name="ms"/>
<locale android:name="th"/>
<locale android:name="zh"/>
<locale android:name="zh-Hant-TW"/>
<locale android:name="hi"/>
</locale-config>
Build.gradle-
resConfigs("en", "hi", "ms", "th","zh", "zh-rTW", "b+zh+Hant+TW")
GitHub参考链接-https://github.com/android/user-interface-samples/tree/main/PerAppLanguages/views_app
谢谢你,谢谢
1条答案
按热度按时间qyswt5oh1#
问题是-用更新的contextWrapper覆盖我的attachBaseContext方法。所以,我删除了attachBaseContext方法,它工作得很好。
对于Android 12(API级别32)及更低版本,请确保您的Activity已使用AppCompactActivity扩展,以获得与AppCompatActivity上下文(而非应用程序上下文)配合使用的向后兼容API。使用Appcompat 1.6.0或更高版本访问向后兼容的API。