![](/img/trans.png)
[英]Localizing string resources added via build.gradle using “resValue”
[英]Generate a string resource containing % from build.gradle with resValue
我的build.gradle中有一個自定義任務,它會生成一些字符串資源:
android.defaultConfig.resValue "string", "my_string", "Some Value"
這一切都很好:字符串在generated.xml中正確顯示,可以通過應用程序代碼中的getResources().getString(R.id.my_string)
訪問。
當其中一個字符串包含%
符號時,它不起作用。 它給出了這個錯誤:
錯誤:(1)以非位置格式指定的多個替換; 你的意思是添加formatted =“false”屬性?
我從Android XML百分比符號中了解到,對於strings.xml中的字符串資源,通常會解決此問題,方法是提供額外的formatted="false"
屬性,如下所示:
<string formatted="false">My string with a % symbol</string>
在構建腳本中使用resValue
生成字符串時,如何包含formatted="false"
屬性?
(我也嘗試使用雙倍%來逃避,但這導致%%
出現在最終字符串中。)
我通過在gradle任務中的字符串生成時用雙重轉義的unicode值替換原始%
符號來解決它。
android.defaultConfig.resValue "string", "my_string", \
"String with a % symbol".replaceAll("%","\\\\u0025")
您可以在xml中使用%
在你的xml中嘗試這種格式\\ %%
<string name="foo">percent symbol 50\%% </string>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.