• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

【Android】 处理文本资源的几种方式

武飞扬头像
juejin
帮助91

1. 一般使用

在 Android 使用字符串资源,最基本的方法就是定义字符串

string 字符串标签

通过 string 标签定义文本

<string name="app_name">AppDemo</string>

代码调用:

context.getString(R.string.app_name);

string-array 字符串数组标签

通过 string-array 标签定义数组

<string-array name="planets_array">
		<item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
    <item>Mars</item>
</string-array>

代码调用:

Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);

2. 资源间接引用

<string name="app_name">AppDemo</string>
<string name="text">@string/app_name</string>

通过资源间接引用的方式,减少重复文案的定义,相当于给同一个文案起了个别名。

3. 使用转换符定义 String

Android 支持字符串占位符定义,比如:

<string name="format">a first num %1$s , a second num %2$s</string>

1$2$ 表示第几个字符串,%d表示十进制。如果只有一个占位,可直接将 %1$s 简化成 %s

代码调用:

mTvFormat.setText(String.format(getString(R.string.format), "one", "two"));

常用转换符如下:

转换符 说明 实例
%s 字符串类型 ”string“
%c 字符类型 ’a‘
%b 布尔类型 true
%d 整数类型 十进制 99
%x 整数类型 十六进制 FF
%o 整数类型 八进制 77
%f 浮点类型 99.99
%a 十六进制浮点类型 FF.35AE
%e 指数类型 9.38e 5
%g 通用浮点类型(f 和 e 类型中较短的)  
%h 散列码  
%% 百分比类型 %
%n 换行符  
%tx 日期与时间类型(x代表不同的日期与实践转换符)  

4. html 标签

string 中可以直接放下格式化的 html 样式 如:

<string name="html"><b>注意:</b></string>
  • <b> 表示粗体文本。
  • <i> 表示斜体文本。
  • <u> 表示 下划线 文本。

5. 使用 CDATA 实现复杂样式

<string name="reply_me"><![CDATA[回复 <span style="color:#4C4C4C">我:</span>]]></string>
或
<string name="reply_me"><Data><![CDATA[回复 <span style="color:#4C4C4C">我:</span>]]></Data></string>

代码调用:

mTvColor.setText(Html.fromHtml(getString(R.string.reply_me)));

这个例子可以定义 “我” 的颜色,除了颜色,也可以使用其他样式的标签。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanejie
系列文章
更多 icon
同类精品
更多 icon
继续加载