Android应用多语言支持实现(方法一)

来源:互联网 发布:网络与新媒体专业就业 编辑:程序博客网 时间:2024/05/12 21:05
 在AndroidMianFest.xml中配置,通过配置就可以明白,配置如下:

一.AndroidMianFest.xml中配置
                <receiver android:name="cn.xm.antrou.broadcast.LanBroadcast">
                        <intent-filter>
                                <action android:name="cn.xm.broadcast.language" />
                        </intent-filter>
                </receiver>


二.设置选中的语言
        Configuration config = resources.getConfiguration();
        DisplayMetrics dm = resources .getDisplayMetrics();
        config.locale = locale;
        resources.updateConfiguration(config, dm);
        this.finish()//设置语言后关闭当前Activity
上面的local参数就是设置语言的,比如:Locale.SIMPLIFIED_CHINESE  Locale.ENGLISH,详细信息你可以查看Local类,其实这里设置后软件语言已经变了,不过需要重新进入该界面,所以会用到通知来重启启动当前界面



三.发送通知
               Intent intent = new Intent("cn.xm.broadcast.language");
               sendBroadcast(intent);

注意上面构造Intent参数:cn.xm.broadcast.language与AndroidMainfest.xml中的配置是一致的,这里发出通知后,系统会在你配置的信息中找到匹配项后执行,android:name指定的类,这个类需要实现 BroadcastReceiver ,并重写 onReceive()在这个方法里面去重启你刚刚的设置语言的界面



原创粉丝点击