2017-07-13 遇到的一点小问题
一
res文件夹里的strings.xml,有些文字比较频繁使用,每次修改都要查找替换,或者在代码里text.setText("客服电话:"+getString(R.string.phone));
拼接。感觉都挺麻烦的,所以想找个拼接的方法。问了同事,正好他知道,感谢!试了下,效果不错。
首先就是在我们xml表最上方填写需要自定义的key和values。
<!DOCTYPE resources [
<!ENTITY testName "123698547">
<!ENTITY Wannoo "Hello">
]>
然后在resources里拼接。
<resources>
<string name="phone">&testName;</string>
<string name="service_phone">客服电话:&testName;</string>
<string name="description">The Θ app was created by &Wannoo;</string>
<string name="hellip">...</string>
<string name="sigmaf">ς</string>
</resources>
然后就可以直接text.setText(getString(R.string.service_phone));
使用了。
20210227
今天在看某个开源项目时,看到这个用法,更简单。
<string name="app_name" translatable="false">@string/app_name_2</string>
<string name="app_name_2" translatable="false">wannoo</string>
.
二
在里写strings.xml...三个点时,会提示使用字符̷ 0;来代替。
其他一些类似的字符也可以,这个网上一搜很多。
三
关于strings.xml里使用占位符,之前有在51CTO记录过,不是很全。正好今天被一个头像吸引过去看了篇博客,里面写得挺全面的,贴一下链接。
标题很长,整个贴出来。Android小技巧之相见恨晚系列-TextView/string.xml冷门小技巧:占位转换符%1d等的用法
四
2017-06-22 遇到的一点小问题
Error:Failed to resolve:
tools:replace="android:allowBackup
在某个小内存手机运行时出现:Android GC overhead limit exceeded,调试失败,别的手机不会。
网上找了下,有答案了,只要在app的build.gradle里添加相应代码就可以了。
不一定对,但刚好我那手机可以运行了。
dexOptions {
incremental true
javaMaxHeapSize "4g"
}