加油吧,小龙! 2023-03-27 17:05 采纳率: 0%
浏览 22

Android 多语言切换,俄语无效

Android 多语言切换,切换俄语没有效果。
在公司项目里面需要用到俄语,仿照这个程序写了一下,网址如下:https://github.com/bikeming/MultiLanguage
中英文切换都好用,唯独俄语切换时,log日志显示切换了,但是页面没有效果。有没有遇到该类问题的小伙伴呀,谢谢

  • 写回答

2条回答 默认 最新

  • xia0xin 2023-03-27 23:59
    关注

    可能是字体的问题导致俄语无法正常显示。可以尝试在切换到俄语时,手动设置字体为支持俄语的字体,比如使用"Roboto-Regular.ttf"字体。

    具体步骤如下:

    在assets/fonts文件夹下添加"Roboto-Regular.ttf"字体文件;
    在LanguageUtil类中添加以下代码:

    // 切换语言后手动设置字体
    if ("ru".equals(language)) {
        Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Regular.ttf");
        Resources resources = context.getResources();
        Configuration configuration = resources.getConfiguration();
        configuration.fontScale = 1.0f;
        configuration.setLocale(locale);
        resources.updateConfiguration(configuration, resources.getDisplayMetrics());
        context.getApplicationContext().createConfigurationContext(configuration);
    }
    
    
    

    在changeAppLanguage方法中,将上述代码添加到setLocal方法调用之后。
    这样做可以保证切换到俄语时,字体可以正确显示,从而解决俄语无法正常显示的问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月27日