zoukankan      html  css  js  c++  java
  • Android完美多语言应用,不重启应用,不改变系统语言

    使用系统设置中的API会改变系统的语言,在onpause等去改变语言,效果不是太好。

    另外下面的方法只有在新启动的activity中才能生效。

        public void switchLanguage(Locale locale) {
            Resources resources = getResources();// 获得res资源对象
            Configuration config = resources.getConfiguration();// 获得设置对象
            DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
            config.locale = locale; // 简体中文
            resources.updateConfiguration(config, dm);
        }

    新浪微博以及微信都有多语言项,而且都是在设置界面。也就是说除了当前切换语言界面还有其它已启动的activity存在。

    新浪微博使用重新启动的方式实现,微信则看似没有重新启动应用。我猜测分析发现其是将现有的activity栈中的除首页外都finish了,然后手动的将首页activity切换语言。这样就完美实现了。

    我的项目需求更加简单,只能在登录页面实现多语言的设置,也就代表着activity栈中只有当前activity,只需要将当前activity根据语言的设置手动同步就可以了。

    以后最好将选择语言项设计到登陆页。

  • 相关阅读:
    How to Use .Net Remoting Using C#
    How to: Build a Client Application
    C# 禁用鼠标中间键
    秒杀系统:设计方案与实现思路
    JDBC连接数据库
    Java调用webService示例
    spring MVC
    rust贪吃蛇
    初识智遥工作流软件——表单开发篇2
    初识智遥工作流软件——表单开发篇1
  • 原文地址:https://www.cnblogs.com/anee/p/2916828.html
Copyright © 2011-2022 走看看