Android应用中怎么实现一个切换内置语言功能

  介绍

这篇文章给大家介绍Android应用中怎么实现一个切换内置语言功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>一、需求

有时候应用需要在内部切换语言但又不影响系统的语言,比如是应用现在是中文的,系统语言也是中文的,我把应用的切换成英文显示后系统语言还是中文的,系统语言切换后也不会被改变,还有就是有些机的系统是被改造精简过的,比如有些国产机的系统的语言就被精简剩中文和英文。支付宝,微信,上面的故事都有在应用内部设置语言切换这样的功能。

 Android应用中怎么实现一个切换内置语言功能

<强>三,实现

我这默认是英语再添加了个俄文(谷歌翻译的)和中文。

 Android应用中怎么实现一个切换内置语言功能

值/字符串。xml

& lt; resources>   & lt;字符串名称=癮pp_name"祝辞SwitchLanguage   & lt;字符串名称=癶elloworld"祝辞Hello World ! & lt;/string>   & lt;字符串名称=發anguage"祝辞Eng   & lt;字符串名称=癳nglish"祝辞English   & lt;字符串名称=癱hinese"祝辞中文& lt;/string>   & lt;字符串名称=皉ussian"祝辞русский   & lt;字符串名称=皊econdact"在第二Activity   & lt;/resources>   

values-ru/字符串。xml

& lt; resources>   & lt;字符串名称=癮pp_name"祝辞Переключениеязык   & lt;字符串名称=癶elloworld"祝辞приветмир! & lt;/string>   & lt;字符串名称=發anguage"祝辞русский   & lt;字符串名称=皊econdact"祝辞второйактивность   & lt;/resources>   

values-zh/字符串。xml

& lt; resources>   & lt;字符串名称=癮pp_name"祝辞切换语言& lt;/string>   & lt;字符串名称=癶elloworld"在你好世界! & lt;/string>   & lt;字符串名称=發anguage"祝辞中文& lt;/string>   & lt;字符串名称=皊econdact"祝辞第二屏& lt;/string>   & lt;/resources>   


activity_main。xml

默认标题栏的文字是切换语言后是不会被改变的,使用Toobar替换掉就可以了。

& lt;及# 63;xml version=?.0”;编码=皍tf-8", # 63;比;   LinearLayout & lt;   android: id=癅 + id/activity_main"   xmlns: android=癶ttp://schemas.android.com/apk/res/android"   xmlns:工具=癶ttp://schemas.android.com/tools"   android: layout_width=癿atch_parent"   android: layout_height=癿atch_parent"   android:取向=皏ertical"   工具:上下文=癱om.ce.switchlanguage.MainActivity"   xmlns:应用=癶ttp://schemas.android.com/apk/res-auto"比;   & lt; android.support.design.widget.AppBarLayout   android: layout_height=皐rap_content"   android: layout_width=癿atch_parent"   android:主题=癅style/AppTheme.AppBarOverlay"比;      & lt; android.support.v7.widget.Toolbar   android: id=癅 + id/toolbar"   android: layout_width=癿atch_parent"   android: layout_height=? # 63; attr/actionBarSize"   android:背景=?# 63;attr/colorPrimary"   应用:popupTheme=癅style/AppTheme.PopupOverlay"   应用:title=癅string/app_name"/比;      & lt;/android.support.design.widget.AppBarLayout>   & lt; TextView   android: layout_width=皐rap_content"   android: layout_height=皐rap_content"   android:文本=癅string/helloworld"/比;   & lt;按钮   android: id=癅 + id/change"   android: layout_width=皐rap_content"   android: layout_height=皐rap_content"   android: layout_gravity=癱enter"   android:文本=癅string/language"/比;   & lt;/LinearLayout>

风格。xml

设置语言后需要重启下活动,启动会有个效果,使用windowDisablePreview屏蔽掉它。

& lt; resources>   & lt;样式名=癆ppTheme"父母=癟heme.AppCompat.Light.DarkActionBar"比;   & lt;项目名称=癱olorPrimary"祝辞@color/colorPrimary   & lt;项目名称=癱olorPrimaryDark"祝辞@color/colorPrimaryDark   & lt;项目名称=癱olorAccent"祝辞@color/colorAccent   & lt;项目名称=皐indowActionBar"祝辞false   & lt;项目名称=皐indowNoTitle"祝辞true

Android应用中怎么实现一个切换内置语言功能