自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于Android strings.xml-你應(yīng)該了解的幾個原則

移動開發(fā) Android
如果你想為每個頁面創(chuàng)建一個 strings.xml文件,可以這樣命名:settings-strings.xml, profile-strings.xml。但是一個app通常有10到20個頁面。所以每一個語言目錄下都會有10到20個strings.xml文件,個人認為這帶來的是混亂。

[[187865]]

不要試圖重用

不同的頁面不要重用一個string。

1.假設(shè)你的登錄和注冊頁面都有一個加載對話框。因為都有加載界面所以你決定使用同一個string-R.string.loading。 

 

 

 

但是說不定什么時候你使用不同的string了,這時你就需要重新創(chuàng)建兩個新的string,而且還要修改java代碼。如果一開始你就使用兩個string的話,你需要修改的就只有strings.xml文件。 

 

 

 

2. 你永遠不知道你的應(yīng)用要支持哪些語言。在某一種語言中-或許你可以在不同的上下文中使用同一個詞語,但是在另一種語言中很可能不同的上下文需要不同的詞語。 

 

 

  

 

 

 

注意這里英語版本的strings.xml中,R.string.download_file_yes 和 R.string.terms_of_use_yes兩個string都是同一個單詞- “Yes”。

但是在烏克蘭語版本中R.string.download_file_yes用的是 “Гаразд”,而 R.string.terms_of_use_yes用的是“Так”。

分離

同一頁面的string用前綴和注釋分離 

 

 

 

為每個string添加頁面前綴,幫助你立即識別出一個string屬于哪個頁面。

干凈的strings.xml文件可以幫助你輕松維護與翻譯成不同的語言-一個一個頁面的來。

為每個頁面創(chuàng)建單獨的strings.xml 文件

如果你想為每個頁面創(chuàng)建一個 strings.xml文件,可以這樣命名:settings-strings.xml, profile-strings.xml。但是一個app通常有10到20個頁面。所以每一個語言目錄下都會有10到20個strings.xml文件,個人認為這帶來的是混亂。

Format格式化

使用 Resources#getString(int id, Object… formatArgs) 來格式化 strings

永遠不要使用+號來拼接字符串,因為不同的語言語序是不同的。 

 

 

  

 

 

 

正確的方式是使用Resources#getString(int id, Object… formatArgs)。 

 

 

  

 

 

  

 

 

 

復(fù)數(shù)

使用 Resources#getQuantityString (int id, int quantity) 來處理復(fù)數(shù)

永遠不要在java代碼中解決復(fù)數(shù)問題,因為不同語言中復(fù)數(shù)的語法規(guī)則是不同的。 

 

 

  

 

 

 

正確的方式是使用Resources#getQuantityString (int id, int quantity)。 

 

 

  

 

 

 

注:關(guān)于getQuantityString方法請看:Android Quantity Strings 的 getQuantityString方法取值問題

詞語高亮顯示

使用html文本來高亮靜態(tài)詞語

如果你想改變TextView中的某些單詞的顏色- ForegroundColorSpan并不總是***選擇,因為它的高亮是通過索引來完成的,而且在多語言下不安全。***在 strings.xml文件中使用html的font color標簽。

假設(shè)你有一個“Discover and play games.” 的文本。你想讓單詞 “Discover” 和 “play” 顯示成藍色。 

責任編輯:龐桂玉 來源: Android開發(fā)中文站
相關(guān)推薦

2024-09-02 14:24:13

2024-02-21 23:11:19

2020-04-28 18:20:04

Ubuntu 20.0UbuntuLinux

2018-08-23 08:21:54

TensorFlow機器學(xué)習人工智能

2024-07-30 13:48:37

2021-04-21 13:29:42

內(nèi)存安全Java

2013-09-17 09:35:15

云存儲

2015-07-15 16:53:55

IP游戲基礎(chǔ)知識

2018-03-22 16:32:49

大數(shù)據(jù)數(shù)據(jù)集數(shù)據(jù)處理

2017-01-17 11:09:33

大數(shù)據(jù)關(guān)鍵詞工具

2023-12-28 16:33:57

2019-02-19 09:34:53

工業(yè)物聯(lián)網(wǎng)IIOT物聯(lián)網(wǎng)

2020-08-10 15:30:24

XDR網(wǎng)絡(luò)安全網(wǎng)絡(luò)威脅

2023-09-02 21:31:16

Java內(nèi)存泄漏

2018-08-06 06:29:01

區(qū)塊鏈區(qū)塊鏈技術(shù)職業(yè)

2021-05-19 09:40:14

Android 12Android

2022-11-04 08:22:14

編譯代碼C語言

2024-07-04 09:27:57

2021-09-16 21:22:15

Flutter系統(tǒng)

2017-09-07 13:15:21

AndroidAndroid Stu技巧
點贊
收藏

51CTO技術(shù)棧公眾號