Android中String资源加空格,换行,@等

本文详细介绍了在编程中如何使用格式化字符串,包括特殊字符的转义、不同数据类型的格式化输出方式,以及如何通过参数控制输出的具体样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<string name="test">&#160;&#160;&#160;&#160;test</string>                   &#160; 表示空格


<string name="test">test\ntest</string>                                                             \n 表示换行


<string name="test">test  \t  test</string>                                                           \t 表示tab



输入特殊字符如@  %等会报错,有两种解决办法

1.添加转意符号 \ .

2.如果你的字符串不需要格式化,可以在你的<string 标签上增加一个属性:formatted="false"例如 <string name="test" formatted="false">% test %</string> 即可.


%1$s,%1$d等的用法

%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 

也可简单写成:

%d   (表示整数)

%f    (表示浮点数)

%s   (表示字符串)

 

使用步骤举例:

1.记得要在字符文件中加上这些:

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> 

2.

 <string name="test_xliff">小姐今年<xliff:g id="xxx">%1d</xliff:g>岁了,上<xliff:g id="yyy">%2s</xliff:g>年级!</string>

或者

<string name="test_xliff">小姐今年<xliff:g id="xxx">%d</xliff:g>岁了,上<xliff:g id="yyy">%s</xliff:g>年级!</string>

加上参数和空格的写法是:

 <string name="test_xliff">小姐今年<xliff:g id="xxx">%1$3d</xliff:g>岁了,上<xliff:g id="yyy">%2$5s</xliff:g>年级!</string>

3. 

String test = String.format(getResources().getString(R.string.test_xliff), 7, "二");

输出:

小姐今年7岁了,上二年级!

加上参数和空格的输出:

小姐今年   7岁了,上     二年级!


Android 开发中,如果需要处理“半个中文空格”的问题,可以使用 HTML 实体 ` ` 或其对应的 Unicode 编码 ` `,这两个表示的是一个宽度为半个中文字符的空格。这种空格常用于排版中,以实现更精细的间距控制。 ### 使用方式 #### 在字符串资源中使用 在 XML 的字符串资源文件中,可以直接使用 ` ` 来插入半个中文空格: ```xml <string name="example_text">这是一个 示例文本</string> ``` #### 在 Java/Kotlin 代码中使用 在代码中拼接字符串时,可以直接使用 Unicode 编码 `\u8194` 来表示该空格: ```kotlin val exampleText = "这是一个\u8194;示例文本" textView.text = exampleText ``` #### 在 HTML 内容中使用 如果是在 `TextView` 中使用 `Html.fromHtml()` 方法显示 HTML 内容,也可以直接使用 ` `: ```kotlin val htmlText = "这是一个 示例文本" textView.text = Html.fromHtml(htmlText) ``` ### 显示效果 ` ` 或 ` ` 会显示为一个宽度约为普通英文空格两倍的空白,但小于一个完整的中文空格(即全角空格 ` `)。这种空格在排版中非常有用,尤其是在需要对齐文本或调整字符间距时。 ### 与其他空格的对比 - ` `:普通的英文半角空格。 - ` ` 或 ` `:不换行的英文半角空格。 - ` `:中文全角空格,宽度与一个中文字符相同。 - ` ` 或 ` `:半个中文空格。 - ` ` 或 ` `:一个中文宽度的空格。 - ` `:四分之一中文宽度的空格。 ### 注意事项 - 在不同的渲染环境下,` ` 的实际显示效果可能会略有差异,尤其是在不同字体或设备上。 - 如果需要确保跨平台或跨设备的一致性,建议通过测试确认其在目标环境中的表现。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值