不要硬編碼任何字符串,對需要替換的字符串使用占位符

養成良好的開發習慣

不要硬編碼任何字符串,將所有字符串放入strings.xml中

字符串中的占位符

對于不必翻譯的文本,如代碼、某個值的占位符、特殊符號或名稱等,使用<xliff:g>占位符標記。使用占位符時,務必添加id屬性來說明占位符用途;如果應用會替換該占位符的值,務必提供示例屬性來說明預期用途。

三個例子:“30.5°”、“40分鐘”、“(說明)”

  1. 不要使用tv.setText(temp + "°");tv.setText(min + "分鐘");tv.setText("(" + 說明 + ")");這樣的硬編碼。
  2. 在strings.xml中定義字符串:
<!--對特殊符號使用Unicode編碼-->
<string name="format_temperature">
     <xliff:g id="temperature">%1.0f</xliff:g>\u00B0
</string>
<string name="format_time">
     <xliff:g id="time">%d</xliff:g>分鐘
</string>
<string name="format_description">
    \u0028<xliff:g id="description">%s</xliff:g>\u0029
</string>
  1. 在代碼中使用:
float temp = 30.5; int min = 40; String des = "說明"(不推薦這么寫,僅示例);
tv.setText(context.getString(R.string.format_temperature, temp)); //30.5°
tv.setText(context.getString(R.string.format_time, min));//40分鐘
tv.setText(context.getString(R.string.format_description, des));//(說明)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • longaaaa =14200666; Console.WriteLine(aaaa.ToString("N0")...
    魚落于天閱讀 935評論 0 1
  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,497評論 0 17
  • 我的父母生下了一個怪胎,這個怪胎震驚了世界!可是他們卻非常開心,因為他們生下的我,是一棵搖錢樹。 不是以后語文...
    西巷舊時閱讀 270評論 2 4
  • 昨天很地氣的轉發一個圖到自己閨蜜群,大概關于“如果你答對20個或者以上我的命都是你的”之類的問題們,身高星座愛吃的...
    jewelduan閱讀 196評論 0 0