美文网首页
另一种方便的strings.xml占位符

另一种方便的strings.xml占位符

作者: kksoCoud | 来源:发表于2019-09-26 00:58 被阅读0次

    在android项目中,google官方建议我们使用字符串是不要使用硬编码方式(在布局文件或代码中直接书写字符串),而是使用strings.xml中的资源引用。但在日常开发中,如果我们不需要实现国际化,并且在小公司的话几乎都是怎么方便怎么来吧,我是这个想的O(∩_∩)O
    但在实际开发过程中,我们可能会遇到这样的情况,一串多处重复使用的文案,在版本迭代过程中,如果产品经理需要我们统一修改这些文案时,我们就会头疼了。当然你也可以使用全局替换快捷键。其实这类可以抽取到strings.xml里面,并且如果需要修改我们可以使用占位符,这样到时候只需要修改占位符的文字就可以了。我猜大家看到这里脑袋里浮现的肯定是通过String.format来实现,这样当然也是一种办法,不过这样的话,我们只能在代码中去实现,如果我们仅仅是需要给一个静态的控件复制(在xml布局文件中使用)就头疼了,这样实现不了,除非我们项目中使用的是databinding。下面画重点了哈:

    另一种字符串占位符实现方式

    我们可以在strings.xml首行添加如下代码即可实现在xml中实现占位符的效果

    <!DOCTYPE resources [<!ENTITY appname "哈哈">]>
    <resources>
        <string name="app_name">&appname;应用</string>
    </resources>
    

    如果需要抽取多个占位符呢?

    <!DOCTYPE resources [
        <!ENTITY appname "哈哈">
        <!ENTITY author "作者">
    ]>
    <resources>
        <string name="app_name">&appname;应用</string>
       <string name="app_name">&appname;应用由&author;开发</string>
    </resources>
    

    看就是这么简单,我们就可以在布局文件中直接引用了,到时候统一修改占位符里面对应的文案即可(●ˇ∀ˇ●)

    相关文章

      网友评论

          本文标题:另一种方便的strings.xml占位符

          本文链接:https://www.haomeiwen.com/subject/swnsuctx.html