iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android strings.xml使用方法及技巧
  • 364
分享到

Android strings.xml使用方法及技巧

XMLstrings方法技巧Android 2022-06-06 07:06:26 364人浏览 薄情痞子
摘要

相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加

相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧。:   )

不要复用

这一条可能很多人会有不同的意见,因为广为流行的编程理念就在教导我们要复用代码,当然代码复用是很好的理念,可以让程序更加简洁。但也容易形成什么都想复用的思维惯性,而这在某些场景下就可能会造成麻烦。

比如,想象下你在应用中的登录和注册界面中都是用了相同的字符串 – R.string.loading.

<string name="loading">Loading...</string>

之后如果产品需求变更,要分别使用不同的提示语,那就不得不新创建两个 string 并在代码中配置它们。所以如果从一开始就为不同页面分别配置,那需要做的就仅仅是修改下 strings.xml 文件。

<string name="sign_in_loading">正在登录...</string>
<string name="sign_up_loading">正在注册...</string>

更容易忽略的一个原因是,如果你们的应用不想只是面对国内用户,还要面对其他语系的用户的话,有些语言可能会造成意想不到的问题。

因为一些语言同样一个意思在不同的语境下,会用到不同的单词,个中滋味经历过的自然会懂。

良好的文件结构


<!-- reGISter start -->
<string name="register_username">用户名</string>
<string name="register_passWord">密码</string>
<!-- register end -->
<!-- login start -->
<string name="login_username">用户名</string>
<string name="login_password">密码</string>
<!-- login end -->

千万不要对此觉得麻烦,使用这样的方式来组织 strings.xml 文件,在应用变得复杂后,还能够很简单的通过搜索甚至观察的方式来找出你想要修改的字符串。

格式化

千万不要使用字符串拼接的方法,因为不同语言的句子顺序是多样的,字符串拼接会让你的逻辑非常复杂。

这个时候就可以考虑使用字符串格式化了:

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>

%1$s 代表了会格式化的字符串,%2$d 代表了会格式化的数值并在第二的位置,大家可以以此类推。


// Java 代码:
Resources res = getResources();
String text = String.fORMat(res.getString(R.string.welcome_messages), username, mailCount); // 注意参数的顺序。

复数名词

不要像下面这样在你的 Java 代码中处理单词复数问题,因为不同的语言针对复数会有不同的语法规则。


<!-- strings.xml start -->
<string name="book">book</string>
<string name="books">books</string>
<!-- strings.xml end -->
if (bookCount == 0) {
  text = getString(R.string.book);
} else {
  text = getString(R.string.books);
}

正确的做法应该是使用 getQuantityString(int id, int quantity) 方法。


<plurals name="book">
  <item name="one">book</item>
  <item name="others">books</item>
</plurals>
int bookCount = 4;
Resources res = getResources();
String bookCount = res.getQuantityString(R.plurals.book, bookCount);
// result: books.

当然 Quantity String 不仅支持 one,还支持 zero, two, few, many 和 other。
可以自由决定各自情况下,使用什么词语(当然,在中文环境下可能用处并不大)。

并且 Quantity String 也能和上面提到的格式化搭配使用:


<plurals name="book">
  <item name="one">%d book found.</item>
  <item name="others">%d books found.</item>
</plurals>
int count = 4;
Resources res = getResources();
String bookCount = res.getQuantityString(R.plurals.book, count, count);
// result: 4 books found.

谷歌官方建议,作为一个开发者至少应该给名词提供 ‘one' 和 ‘other' 属性。

文本高亮

大家可能知道用 ForegroundColorSpan 或 SpannableStringBuilder 能够高亮一段文本中的某些内容,但这对于多语言应用来说可能并不是最好的方式,因为这两个方法都要依靠待高亮文字的具体位置作为参数。如果应用需要支持的语言多了之后,这就会写大量的 Java 代码,和频繁计算待高亮内容位置。

这个时候就可以试试用 html


<string name="html_text" formatted="false">
<![CDATA[    
<font color=\'#28b5f5\'>Hello</font> world.
]]>
</string>
TextView tv = (TextView) findViewById(R.id.tv_txt);
tv.setText(Html.fromHtml(getString(R.string.html_text)));

这其实也是格式化的一种,我们不仅能定义颜色,还可以使用 < b >、< i >、< u > 来分别使字符串具有加粗、斜体和下划线。

其实 strings.xml 的用法远没有很多人想的那么简单,这里也算是抛砖迎玉一下,如果大家想要了解更详细的用法,可以参考官方文档。:   )

以上就是对Android strings.xml 文件的使用方法和技巧做的总结,后续继续整理,谢谢大家对本站的支持!

您可能感兴趣的文章:Android SpannableString设置超链接、颜色、字体等属性Android string-array数据源简单使用不可不知的Android strings.xml那些事Android string.xml中的替换方法Android仿String的对象驻留示例分析Android String资源文件插入值实例详解


--结束END--

本文标题: Android strings.xml使用方法及技巧

本文链接: https://www.lsjlt.com/news/24114.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android中Snackbar的使用方法及小技巧
    Snackbar是Android支持库中新增的控件,用于显示短暂的提示信息。以下是Snackbar的使用方法和一些小技巧:1. 添加...
    99+
    2023-09-14
    android
  • Android开发使用strings.xml多语言翻译的方法是什么
    这篇“Android开发使用strings.xml多语言翻译的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“And...
    99+
    2023-07-02
  • Android TextView冷门实用方法技巧
    目录介绍自定义字体AutoLink对齐模式介绍 TextView 是 Android 开发中最常用的小部件之一。它用于在屏幕上显示文本。但是,TextView 有几个较少为人知的功...
    99+
    2023-05-14
    Android TextView Android TextView冷门方法
  • Android开发使用strings.xml多语言翻译解决方案
    目录概述使用步骤1 XML转XLS2 XLS转XML英文日文韩文概述 在实际项目开发中如果需要支持多语言,我们需要整理项目中所有的字符串并翻译成对应的语种放在相应的文件夹下,就像这样...
    99+
    2024-04-02
  • winxp技巧使用方法及特殊之处详解
    1.在记事本中自动记录文件的打开时间 在记事本中,我们可以记录每次打开某个文本文件的时间,方法为:在该文件的第一行输入“.LOG”(注意:必须大写!),然后换行开始正文。这样在每次打开了该文件之后...
    99+
    2023-05-26
    winxp技巧 windowsxp使用技巧 使用 winxp 技巧 方法
  • Android使用EditText小技巧汇总
    目录1、隐藏android中EditText自带的的下划线2、让软键盘出现搜索按钮3、多行EditText的时候会出现光标在中间的问题:4、修改EditText的光标颜色5、通过监听...
    99+
    2024-04-02
  • Android的无线调试技巧与方法
    Android的无线调试技巧与方法 随着移动应用的快速发展,Android开发者越来越需要便捷的调试方式来提高开发效率。传统的有线调试方式已经无法满足开发者的需求,因此,无线调试成为了一种非常实用的解...
    99+
    2023-10-20
    android Android
  • Java 8 Time Api 使用方法技巧
    目录1.概述2. 旧的时间API(java8之前)的问题3.使用LocalDate,LocalTime和LocalDateTime3.1.使用LocalDate3.2.使用Local...
    99+
    2024-04-02
  • PHP缓存技术在Laravel框架中的使用方法及优化技巧
    Laravel是一个流行的PHP框架,它提供了许多实用的功能和工具,其中之一就是缓存。缓存是一种提高应用程序性能的常用技术,它可以将一些经常使用的数据存储在内存中,从而避免了频繁的查询数据库或进行复杂的计算。在本文中,我们将介绍如何使用P...
    99+
    2023-09-27
    缓存 laravel 接口
  • 28个JavaScript常用字符串方法以及使用技巧总结
    目录前言1. 获取字符串长度2. 获取字符串指定位置的值(1)charAt()(2)charCodeAt()3. 检索字符串是否包含特定序列(1)indexOf()(2)lastIn...
    99+
    2024-04-02
  • jquery常用技巧及常用方法列表集合
    1、关于页面元素的引用 通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象)...
    99+
    2022-11-21
    常用技巧 常用方法
  • Android studio有哪些使用小技巧
    这篇文章主要介绍“Android studio有哪些使用小技巧”,在日常操作中,相信很多人在Android studio有哪些使用小技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android studi...
    99+
    2023-06-04
  • Postman使用指南及小技巧
    目录一、什么是 Postman(前世今生)二、使用变量2.1 变量作用域适用于 Postman 中不同的场景2.2 编辑全局和环境变量2.3 编辑集合变量2.4 使用系统内置动态变量...
    99+
    2024-04-02
  • Android开发ProGuard使用技巧掌握
    目录前言什么是 ProGuard?它对我们的应用程序有什么用处?如何在我们的项目中使用它?前言 在构建 Android 应用程序时,我们可能在项目中使用了 ProGuard。在这篇文...
    99+
    2022-11-21
    Android开发ProGuard技巧 Android ProGuard
  • XP桌面文字技巧使用方法
    这篇文章将为大家详细讲解有关XP桌面文字技巧使用方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。★其实还可以按住Alt键,然后在小键盘输入“0160”,这样也可以达到同样效果。 ★若找不到...
    99+
    2023-06-14
  • Golang方法的使用与优化技巧
    Golang方法的使用与优化技巧 在Go语言编程中,方法是一种特殊类型的函数,它是一个与对象关联的函数。本文将通过具体的代码示例介绍Golang方法的使用和优化技巧,让读者更好地掌握这...
    99+
    2024-02-23
    使用 优化技巧 golang方法 go语言
  • PHP开发中POST方法的使用技巧
    PHP是一种广泛应用于Web开发的编程语言,而在PHP开发中,POST方法是一种常用的数据传输方式。本文将详细介绍在PHP开发中使用POST方法的技巧,并提供具体的代码示例。 一、PO...
    99+
    2024-04-02
  • Node.js方法的编写方法和使用技巧有哪些
    这篇文章主要讲解了“Node.js方法的编写方法和使用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js方法的编写方法和使用技巧有哪些”吧!一、Node.js方法的编写方...
    99+
    2023-07-05
  • Win7快速清理使用痕迹方法技巧
      随着win7系统的快速普及,时下很多时候用户都是在使用win7进行办公、学习、娱乐以及处理各种事物,而在操作过程中难免会留下使用痕迹,这些痕迹有些是我们希望留下的,有些是我们不希望留下的,不过这种痕迹留存也是win7...
    99+
    2023-05-31
    Win7 清理 使用痕迹 痕迹 技巧 方法
  • Android开发RecyclerView单独刷新使用技巧
    目录单刷RecycleView的子Item单刷RecycleView的子Item的局部内容1.普通payload方式2.ListAdapter方式总结单刷RecycleView的子I...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作