中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

電子產(chǎn)品網(wǎng)站建設(shè)策劃方案百度app安裝下載

電子產(chǎn)品網(wǎng)站建設(shè)策劃方案,百度app安裝下載,交互型網(wǎng)站開發(fā),找哪些公司做網(wǎng)站Unity3D特效百例案例項(xiàng)目實(shí)戰(zhàn)源碼Android-Unity實(shí)戰(zhàn)問題匯總游戲腳本-輔助自動化Android控件全解手冊再戰(zhàn)Android系列Scratch編程案例軟考全系列Unity3D學(xué)習(xí)專欄藍(lán)橋系列ChatGPT和AIGC 👉關(guān)于作者 專注于Android/Unity和各種游戲開發(fā)技巧,以及各種資源分…
Unity3D特效百例案例項(xiàng)目實(shí)戰(zhàn)源碼Android-Unity實(shí)戰(zhàn)問題匯總
游戲腳本-輔助自動化Android控件全解手冊再戰(zhàn)Android系列
Scratch編程案例軟考全系列Unity3D學(xué)習(xí)專欄
藍(lán)橋系列ChatGPT和AIGC

👉關(guān)于作者

專注于Android/Unity和各種游戲開發(fā)技巧,以及各種資源分享(網(wǎng)站、工具、素材、源碼、游戲等)
有什么需要?dú)g迎底部卡片私我,交流讓學(xué)習(xí)不再孤單

在這里插入圖片描述

👉實(shí)踐過程

最近公司開始做多語言版本,由于之前沒有做過,所以在網(wǎng)上搜尋了一番這方面的資料,最后經(jīng)過實(shí)踐、總結(jié),寫下了這篇文章。源碼Github

多語言的切換功能

首先,實(shí)現(xiàn)多語言的切換功能,參考Android App 多語言切換。

1.在res資源文件目錄下添加不同語言的values,如圖:
在這里插入圖片描述

添加多語言.png

2.通過修改Configuration中的locale來實(shí)現(xiàn)app語言的切換,具體代碼如下:

Resources resources = context.getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
Configuration config = resources.getConfiguration();
resources.updateConfiguration(config, dm);

3.根據(jù)本地緩存的type獲取對應(yīng)的locale,其中7.0以上的系統(tǒng)需要另做處理,具體代碼如下:

Locale locale;
// 應(yīng)用用戶選擇語言
switch (type) {
case 0:
//由于API僅支持7.0,需要判斷,否則程序會crash(解決7.0以上系統(tǒng)不能跟隨系統(tǒng)語言問題)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
LocaleList localeList = LocaleList.getDefault();
locale = localeList.get(localeList.size() - 1);
} else {
locale = Locale.getDefault();
}
break;
、、、
default:
locale = thLocale;
break;
}

4.在AppApplication中初始化時設(shè)置本地語言,用于每次啟動APP后切換到本地緩存的語言

//  設(shè)置本地化語言
I18NUtils.setLocale(this);

5.在BaseActivity的OnCreate()方法中設(shè)置語言,用于處理每次切換系統(tǒng)語言后app語言會跟隨系統(tǒng)變化的問題

if(!I18NUtils.isSameLanguage(this)) {I18NUtils.setLocale(this);I18NUtils.toRestartMainActvity(this);
}

6.手動切換語言時,先更新locale配置,然后通過跳轉(zhuǎn)到主Activity實(shí)現(xiàn)。Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK通過清理掉進(jìn)程中的所有activity重新配置。

Intent intent = new Intent(activity, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
activity.startActivity(intent);
// 殺掉進(jìn)程,如果是跨進(jìn)程則殺掉當(dāng)前進(jìn)程
//  android.os.Process.killProcess(android.os.Process.myPid());
//  System.exit(0);

解決7.0以上系統(tǒng)存在的兼容問題

這個問題的解決參考了Android 7.0 語言設(shè)置爬坑。由于Android7.0以上Configuration將通過LocaleList來管理語言,并且系統(tǒng)切換語言后,系統(tǒng)默認(rèn)語言可能并不在LocaleList頂部官方API說明

進(jìn)測試得出結(jié)論,如果APP手動選擇過語言則系統(tǒng)語言是第二個,否則是第一個。獲取當(dāng)前系統(tǒng)locale,代碼如下:

//由于API僅支持7.0,需要判斷,否則程序會crash(解決7.0以上系統(tǒng)不能跟隨系統(tǒng)語言問題)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {LocaleList localeList = LocaleList.getDefault();
int spType = getLanguageType(AppApplication.getAppContext());
// 如果app已選擇不跟隨系統(tǒng)語言,則取第二個數(shù)據(jù)為系統(tǒng)默認(rèn)語言
if(spType != 0 && localeList.size() > 1) {locale = localeList.get(1);} else {locale = localeList.get(0);}
} else {
locale = Locale.getDefault();
}

7.0以上系統(tǒng)WebView所在Activity沒有跟隨語言切換問題

更新日期:2017年12月14日15:56:47

在后續(xù)的測試發(fā)現(xiàn),在有webView的activitiy中語言并沒有隨著語言進(jìn)行切換。參考多語言切換失效的問題以及stackoverflow后,通過在切換語言之前執(zhí)行new WebView(context).destroy()解決。代碼:

// 解決webview所在的activity語言沒有切換問題
new WebView(context).destroy();
// 切換語言
Resources resources = context.getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
Configuration config = resources.getConfiguration();
config.locale = getLocaleByType(type);
LogUtils.logd("setLocale: " + config.locale.toString());
resources.updateConfiguration(config, dm);

總結(jié)

自此,多語言切換的問題已經(jīng)完美解決了。經(jīng)測試,完全兼容7.0以上系統(tǒng)的多語言切換。

👉其他

📢作者:小空和小芝中的小空
📢轉(zhuǎn)載說明-務(wù)必注明來源:https://zhima.blog.csdn.net/
📢這位道友請留步??,我觀你氣度不凡,談吐間隱隱有王者霸氣💚,日后定有一番大作為📝!!!旁邊有點(diǎn)贊👍收藏🌟今日傳你,點(diǎn)了吧,未來你成功??,我分文不取,若不成功??,也好回來找我。

溫馨提示點(diǎn)擊下方卡片獲取更多意想不到的資源。
空名先生

http://www.risenshineclean.com/news/9410.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)html5作品sem搜索引擎營銷
  • 附近裝修公司超級優(yōu)化大師
  • 機(jī)關(guān)門戶網(wǎng)站建設(shè)要求免費(fèi)營銷軟件網(wǎng)站
  • 淘寶網(wǎng)站制作ue5培訓(xùn)機(jī)構(gòu)哪家強(qiáng)
  • 網(wǎng)站是用什么做的嗎百度一下就知道手機(jī)版
  • 做神馬網(wǎng)站優(yōu)化排名西安網(wǎng)絡(luò)推廣seo0515
  • wordpress添加形式鄭州seo線上推廣技術(shù)
  • 有關(guān)于網(wǎng)站開發(fā)的參考文獻(xiàn)免費(fèi)個人網(wǎng)站怎么建立
  • 有沒有兼職做設(shè)計的網(wǎng)站抖音關(guān)鍵詞推廣
  • 自己可做以做網(wǎng)站嗎事件營銷的概念
  • 網(wǎng)站設(shè)計 做鼠標(biāo)效果優(yōu)化公司
  • 9e做網(wǎng)站推廣優(yōu)化排名
  • 高端手機(jī)網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷的五個發(fā)展階段
  • 做視頻賺錢的國外網(wǎng)站各大網(wǎng)站提交入口網(wǎng)址
  • 上海優(yōu)化排名藍(lán)天seo谷歌優(yōu)化排名怎么做
  • 建設(shè)網(wǎng)站考慮因素寧波seo網(wǎng)絡(luò)推廣定制多少錢
  • 邯鄲市住房和城鄉(xiāng)建設(shè)網(wǎng)站百度拍照搜題
  • 新浪云服務(wù)器做網(wǎng)站瀏覽器廣告投放
  • 做網(wǎng)站_你的出路在哪里創(chuàng)建自己的網(wǎng)站
  • 中國產(chǎn)品網(wǎng)注冊網(wǎng)站站長seo推廣
  • jsp網(wǎng)站空間網(wǎng)絡(luò)銷售渠道有哪些
  • 做網(wǎng)站如何排版曹操seo博客
  • 旅游網(wǎng)站首頁設(shè)計圖片seo自然排名
  • 免費(fèi)做網(wǎng)站的網(wǎng)頁如何給自己的公司建網(wǎng)站
  • 怎么將網(wǎng)站做成小程序seo是做什么工作內(nèi)容
  • 做app 的模板下載網(wǎng)站營銷推廣方案怎么寫
  • 怎樣做動態(tài)網(wǎng)站網(wǎng)上銷售
  • 怎么把統(tǒng)計代碼加到網(wǎng)站網(wǎng)上銷售推廣方案
  • 校園安全網(wǎng)站建設(shè)windows優(yōu)化大師有用嗎
  • 通達(dá)oa 做網(wǎng)站seo工資