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

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

重慶網(wǎng)站建設(shè)公司模板地推掃碼平臺(tái)

重慶網(wǎng)站建設(shè)公司模板,地推掃碼平臺(tái),wordpress如何加入點(diǎn)贊,php+做網(wǎng)站如果是單獨(dú)給app加上國(guó)際化,其實(shí)很容易,創(chuàng)建對(duì)應(yīng)的國(guó)家資源文件夾即可,如values-en,values-pt,app會(huì)根據(jù)當(dāng)前系統(tǒng)語(yǔ)言去使用對(duì)應(yīng)語(yǔ)言資源文件,如果找不到,則使用values文件夾里的資源 但本文講得是另外一種情況,就是app內(nèi)置一個(gè)切換多語(yǔ)言的頁(yè)面,可以給用戶切換 步驟 1.添加服務(wù)…

如果是單獨(dú)給app加上國(guó)際化,其實(shí)很容易,創(chuàng)建對(duì)應(yīng)的國(guó)家資源文件夾即可,如values-en,values-pt,app會(huì)根據(jù)當(dāng)前系統(tǒng)語(yǔ)言去使用對(duì)應(yīng)語(yǔ)言資源文件,如果找不到,則使用values文件夾里的資源

但本文講得是另外一種情況,就是app內(nèi)置一個(gè)切換多語(yǔ)言的頁(yè)面,可以給用戶切換

步驟

1.添加服務(wù)聲明

此步驟主要是讓我們的app可記錄當(dāng)前應(yīng)用語(yǔ)言,使用的Service是android系統(tǒng)給我們提供的

<!--    國(guó)際化多語(yǔ)言    -->
<serviceandroid:name="androidx.appcompat.app.AppLocalesMetadataHolderService"android:enabled="false"android:exported="false"><meta-dataandroid:name="autoStoreLocales"android:value="true" />
</service>

2.在xml文件夾增加文件locale_config.xml

聲明支持的幾個(gè)語(yǔ)言

<locale-config xmlns:android="http://schemas.android.com/apk/res/android"><locale android:name="en" /><locale android:name="pt" /><locale android:name="es" /><locale android:name="de" /><locale android:name="fr" />
</locale-config>

3.調(diào)用方法切換多語(yǔ)言

// 切換語(yǔ)言
val langua="en"
AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(langua))

補(bǔ)充下其他方法:

//獲取當(dāng)前應(yīng)用使用語(yǔ)言
val locale = AppCompatDelegate.getApplicationLocales()[0]//語(yǔ)言短標(biāo)轉(zhuǎn)為locale對(duì)象
val langua="en"
val locale = Locale.forLanguageTag(langua)

一些坑點(diǎn)

1.上架谷歌市場(chǎng)無(wú)法切換語(yǔ)言

上架到谷歌市場(chǎng),用戶下載只會(huì)下載其系統(tǒng)語(yǔ)言包,會(huì)導(dǎo)致app內(nèi)置的語(yǔ)言切換功能無(wú)效

原因是打包為aab的時(shí)候,gradle的配置,默認(rèn)是開(kāi)啟了語(yǔ)言分包設(shè)置,我們?nèi)∠@個(gè)設(shè)置就可以解決此問(wèn)題

gradle配置如下

buildTypes {release {bundle{//設(shè)置多語(yǔ)言不分包處理language {// Specifies that the app bundle should not support// configuration APKs for language resources. These// resources are instead packaged with each base and// feature APK.enableSplit = false}density {// This property is set to true by default.enableSplit = true}abi {// This property is set to true by default.enableSplit = true}}}
}

2.使用StringUtil導(dǎo)致語(yǔ)言切換功能失效

我使用到了Blankj/AndroidUtilCode里面的StringUtil獲取數(shù)據(jù),到時(shí)切換多語(yǔ)言后會(huì)存在問(wèn)題

原因是里面StringUtil里面使用的是application而不是Activity

最終還是更換為使用Activity對(duì)象來(lái)獲取string文本(activity.getString(R.string.hello))

也看到了issue有人說(shuō)到這個(gè)問(wèn)題,說(shuō)要是更新application的資源文件,但我測(cè)試的時(shí)候發(fā)現(xiàn)更新application的語(yǔ)言資源后,會(huì)觸發(fā)應(yīng)用閃屏的效果,然后就沒(méi)有使用此方法

由于項(xiàng)目進(jìn)度趕,就沒(méi)去細(xì)究了

3.使用靜態(tài)數(shù)據(jù)導(dǎo)致后續(xù)沒(méi)有文本沒(méi)有更新

因?yàn)轫?yè)面有幾個(gè)使用相同布局的樣式,比如說(shuō)常見(jiàn)的菜單項(xiàng),我是這樣的做法:

抽取出來(lái)的一個(gè)靜態(tài)類(lèi)來(lái)存儲(chǔ)對(duì)應(yīng)數(shù)據(jù)(圖標(biāo),文本之類(lèi)),之后寫(xiě)一個(gè)xml文件,頁(yè)面則是使用include來(lái)引用多份相同樣式的item,最終在Activity里給這些item賦值

由于item比較少,又不想用recyclerview,就是采用了上面的這個(gè)方法

但是如果涉及到多語(yǔ)言切換的話,就會(huì)導(dǎo)致沒(méi)有數(shù)據(jù)及時(shí)更新

原因是更換語(yǔ)言后,是Activity進(jìn)行的重新創(chuàng)建,但我們存儲(chǔ)數(shù)據(jù)的類(lèi)還是存在的,里面文本數(shù)據(jù)并沒(méi)有更新,所以就是導(dǎo)致了這個(gè)問(wèn)題

解決方法簡(jiǎn)單粗暴,就每次Activity的onCreate方法里創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)對(duì)象即可,這樣,Activity重建之后我們的文本數(shù)據(jù)就會(huì)重新調(diào)用activity.getString(R.string.hello)獲取了

文章轉(zhuǎn)載自:?Stars-one

原文鏈接:https://www.cnblogs.com/stars-one/p/17862389.html

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

相關(guān)文章:

  • 找電商平臺(tái)幫我賣(mài)產(chǎn)品網(wǎng)站優(yōu)化排名工具
  • 鷹潭市城鄉(xiāng)建設(shè)局網(wǎng)站seo實(shí)戰(zhàn)密碼第四版
  • ASP動(dòng)態(tài)商業(yè)網(wǎng)站建設(shè)案例山西seo優(yōu)化公司
  • 用織夢(mèng)做的網(wǎng)站一般后臺(tái)個(gè)人主頁(yè)網(wǎng)頁(yè)設(shè)計(jì)
  • 網(wǎng)站如何做友情鏈接edm營(yíng)銷(xiāo)
  • 公司網(wǎng)站鏈接開(kāi)封網(wǎng)站優(yōu)化公司
  • 筋鄭州做網(wǎng)站百度云搜索引擎入口網(wǎng)盤(pán)搜索神器
  • 代碼生成器app下載天津百度關(guān)鍵詞seo
  • 公司oa辦公平臺(tái)寧波seo優(yōu)化服務(wù)
  • 做產(chǎn)品表情的網(wǎng)站手機(jī)上怎么制作網(wǎng)頁(yè)
  • 上海美術(shù)設(shè)計(jì)公司廣州百度提升優(yōu)化
  • 智能手機(jī)網(wǎng)站模板四平網(wǎng)絡(luò)推廣
  • WordPress旋轉(zhuǎn)圖標(biāo)seo模板建站
  • 做ppt介紹網(wǎng)站嗎抖音關(guān)鍵詞排名軟件
  • 主流建站cms品牌seo培訓(xùn)咨詢(xún)
  • 大唐工作室 網(wǎng)站制作天貓seo搜索優(yōu)化
  • 做游戲網(wǎng)站教程百度seo是啥意思
  • 手機(jī)網(wǎng)站解析域名百度一下你就知道了
  • 網(wǎng)站推廣辦法百度seo搜搜
  • 網(wǎng)站制作大型公司西安網(wǎng)絡(luò)推廣公司網(wǎng)絡(luò)推廣
  • 佛山網(wǎng)站制作網(wǎng)址不付費(fèi)免費(fèi)網(wǎng)站
  • 泰國(guó)男女做那個(gè)視頻網(wǎng)站百度鏈接提交入口
  • 高端品牌網(wǎng)站建設(shè)哪家好愛(ài)站
  • 關(guān)于做網(wǎng)站的google play store
  • 專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)制作費(fèi)用昆明關(guān)鍵詞優(yōu)化
  • 服裝品牌網(wǎng)站怎么做如何開(kāi)網(wǎng)店
  • 怎么樣創(chuàng)建一個(gè)網(wǎng)站產(chǎn)品線上營(yíng)銷(xiāo)方案
  • 一個(gè)人可以做幾個(gè)網(wǎng)站負(fù)責(zé)人灰色詞排名推廣
  • 做一家網(wǎng)站需要多少錢(qián)網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣策劃書(shū)
  • 大眾軟件回應(yīng)中國(guó)芯片行業(yè)最大投資seo排名優(yōu)化公司哪家好