Android(安卓)Local语言设置
16lz
2021-01-26
在Android中每个应用程序都维护着一个自身的配置。 被封装在android.content.res.Configuration类里,通过该类,我们可以修改语言参数,实现对应用语言的变更。 本例利用Configuration 实现应用程序语言设置: 1 首先获取Configuration 类: Resourcesresource=getResources(); Configuration config = resource.getConfiguration(); 2 设置config的local属性 locale属性为一个Locale类的对象, Locale locale =getResources().getConfiguration().locale;//获得local对象 String country =locale.getCountry(); //可以通过local获得相关的属性 如国家 3 设置config属性 //设置应用的语言为英语 config.locale = Locale.ENGLISH; // 设置成系统默认的语言: config.locale = Locale.getDefault(); 4 设置好config属性后,需要更新 getBaseContext().getResources().updateConfiguration(config, null );
语言设置完成后,应用并不会自动刷新当前已经打开的Activity,所以为了刷新整个应用,需要重新启动一下应用: Intentintent= new Intent(); intent.setClass( this ,MainActivity. class ); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); this .startActivity(intent); ------------------------------------------------------------------------------- 另外需要注意的是,需要在Manifest.xml文件中的Activity中配置android:configChanges属性,通过配置该属性,Activity可以捕捉设备状态的变化
语言设置完成后,应用并不会自动刷新当前已经打开的Activity,所以为了刷新整个应用,需要重新启动一下应用: Intentintent= new Intent(); intent.setClass( this ,MainActivity. class ); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); this .startActivity(intent); ------------------------------------------------------------------------------- 另外需要注意的是,需要在Manifest.xml文件中的Activity中配置android:configChanges属性,通过配置该属性,Activity可以捕捉设备状态的变化
- <</span>activity
- android:name=".MainActivity"
- android:label="@string/title_activity_main"
- android:configChanges="locale">//捕捉local的变化
- <</span>intent-filter>
- <</span>actionandroid:name="android.intent.action.MAIN"/>
- <</span>categoryandroid:name="android.intent.category.LAUNCHER"/>
- </</span>intent-filter>
- </</span>activity>
更多相关文章
- 取消程序在最近六项中显示以及直接调用信息短信界面
- Android设置锁屏/休眠时长
- Android(安卓)O中修改NotificationChannel 属性,升级app后该修改
- Android中设置启动动画
- 【Android】AppCompat V21:将 Materia Design 兼容到5.0之前的设
- Android(安卓)Studio同一工程生成不同的app名,包名,图标分别设置
- android:priority
- Android(安卓)嵌入浏览器
- android 5 设置图案锁,锁屏界面进入相机拍照、查看锁定的照片后,退