`
wcgdonot
  • 浏览: 92400 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android中string.xml中%1$s、%1$d等的用法

阅读更多
原文 : http://blog.csdn.net/xiaoyaovsxin/article/details/8450056 
一、使用xliff的用法:

<xliff:g>标签介绍: 
属性id可以随便命名 
属性值举例说明
%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岁了,上     二年级!

 

 

 二、不使用xliff的用法:
1、整型,比如“小姐今年23岁了”,这个23是整型的。在string.xml中可以这样写,
<string name="old">小姐今年%1$d岁了</string> 
 
在程序中,使用 
[java] view plaincopy
 
  1. String sAgeFormat = getResources().getString(R.string.old);  
  2. String sFinalAge = String.format(sAgeFormat, 23);  
[java] view plaincopy
 
  1. <span style="font-size:14px;">String sAgeFormat = getResources().getString(R.string.old);  
  2. String sFinalAge = String.format(sAgeFormat, 23);</span>  
将%1$d替换为23; 
 
%1$d表达的意思是整个name=”old”中,第一个整型的替代。如果一个name中有两个需要替换的整型内容,则第二个写为:%2$d,以此类推;具体程序中替换见下面的string型; 
 

 
2、string型,比如“我的名字叫李四,我来自首都北京”;这里的“李四”和“首都北京”都需要替换。 
 
在string.xml中可以这样写,<string name="alert">我的名字叫%1$s,我来自%2$s</string> 
 
在程序中: 
[java] view plaincopy
 
  1. view sourceprint?1 String sAgeFormatString sAgeFormat1= getResources().getString(R.string.alert);     
  2.   
  3. String sFinal1 = String.format(sAgeFormat1, "李四","首都北京");   
[java] view plaincopy
 
  1. <span style="font-size:14px;">view sourceprint?1 String sAgeFormatString sAgeFormat1= getResources().getString(R.string.alert);     
  2.   
  3. String sFinal1 = String.format(sAgeFormat1, "李四","首都北京");   
  4.   
  5. </span>  
这里两个string需要替换的,按照上面程序的顺序依次对应。
分享到:
评论

相关推荐

    android string.xml %1$s %d\%的用法

    `string.xml` 文件是Android应用中管理字符串资源的核心,通过格式化符号 `%1$s` 和 `%d\%` 可以方便地插入变量和显示百分比。动态修改这些字符串内容通常通过编程方式实现,例如 `getString()` 或 `String.format...

    Android string.xml中的替换方法

    在Android应用开发中,资源管理是非常重要的一部分,其中string.xml文件用于存储应用程序中使用的文本字符串。这不仅方便了代码的维护,还支持多语言环境。本文将深入探讨Android string.xml中的替换方法,以及如何...

    Android string拼接

    2. **占位符**:在`strings.xml`文件中,可以使用特定格式的占位符来表示需要动态替换的部分,例如`%1$s`、`%2$d`等。 3. **格式化字符串**:通过Java的`String.format()`方法或者`getResources().getString()`结合...

    String.XML转Excel的工具应用

    5. **使用方法**:通常,用户需要运行此工具,选择待转换的`string.xml`文件,然后指定输出的Excel文件位置。转换完成后,用户可以在Excel中进行编辑,最后再通过工具将Excel内容导回为XML。 6. **注意事项**:在...

    Excel表格转换将excel与Android的string.xml互转.zip

    使用方法本工具使用命令行运行将 strings.xml 转换为 exceljava -jar D:\\app\\Excal.jar -t xml2xls -i values\strings.xml -o output.xls -coding UTF-8将多个strings.xml转换为exceljava -jar D:\\app\\Excal.jar...

    Android String.xml标签在java代码中的引用

    ### Android String.xml标签在java代码中的引用 #### 概述 在Android开发中,为了方便进行国际化处理以及统一管理应用内的字符串资源,开发者通常会将应用程序中的文本信息存放在`res/values/strings.xml`文件中。...

    Android 对 strings.xml 的字符串进行格式化

    在Android开发过程中,为了实现应用的国际化或多语言支持,开发者通常会使用`strings.xml`文件来存储各种字符串资源。这些字符串资源不仅可以被直接引用显示在界面上,还可以通过格式化的方式动态填充变量值,从而...

    android的strings.xml示例代码

    Android提供了 `%s`、`%d`、`%f` 和 `%@` 等不同的占位符类型。例如: ```xml &lt;string name="welcome_message"&gt;欢迎,%s!今天是%d年%d月%d日。&lt;/string&gt; ``` 在Java代码中,我们可以这样使用: ```java String ...

    Android-Android国际化文档整理xml和excel互转

    "Android-Android国际化文档整理xml和excel互转"项目主要关注如何方便地管理和转换Android应用中的本地化资源。 一、Android的国际化原理 Android的国际化是通过资源文件夹来实现的。在项目的`res`目录下,我们...

    strings.xml文件读取html标签示例

    在Android应用中,我们可以使用`Context` 对象的`getString()` 方法来获取`strings.xml` 中的字符串。例如: ```java String htmlString = getString(R.string.html_string_example); ``` 这里,`R.string....

    Android中自定义属性attrs.xml、TypedArray的使用

    在Android开发中,自定义组件是提升应用个性化和功能扩展性的重要手段。为了实现自定义组件,我们需要理解并掌握如何创建和使用`attrs.xml`文件以及`TypedArray`。`attrs.xml`是用来定义自定义组件的属性,而`...

    Android 自动化生成多语言strings文件

    在Android应用开发中,为了支持多种语言环境,开发者通常需要创建多个`strings.xml`文件,分别对应不同的语言,如英语、简体中文、繁体中文等。这些文件存储在项目的`res/values`目录下,用于定义应用中的文本资源。...

    android屏幕适配,自动生成不同的dimens.xml详解

    本文将深入探讨如何使用官方推荐的方法,通过自动生成不同版本的`dimens.xml`文件来实现屏幕适配。 首先,我们需要理解Android系统如何处理屏幕尺寸和密度。Android设备有多种屏幕类型,包括small、normal、large、...

    android.R.styleable 类包含 XML属性

    * android:text="@String/text1" // 设置 TextView 的文本内容 * android:textSize="20sp" // 设置 TextView 的文本大小 * android:textColor="#ff123456" // 设置 TextView 的文本颜色 * android:textStyle="bold" ...

    String_Resources中定义一些特殊字符串

    在Android开发中,String Resources是用于管理应用内所有文本内容的重要工具。它允许开发者在一个集中的地方定义字符串,便于维护、本地化以及动态格式化。本文将深入探讨Android String Resources的使用,包括国际...

    java & Android 格式化字符串详解

    在上述例子中,`%1$d`被用来表示字符串`"我今年%d岁了"`中的年龄,`%1$s`则用于替换字符串`"我的名字叫%s,我来自%s"`中的名字和地点。`1`表示这是字符串中第一个要替换的参数。如果有多个占位符,可以通过`%2$d`,`...

    Unity3d读写格式为类型的xml

    在写入XML时,我们需要创建`XElement`对象并添加到树形结构中,最后使用`Save`方法保存到文件: ```csharp using System.Xml.Linq; void SaveXML(string filePath, List&lt;KeyValuePair&lt;string, string&gt;&gt; data) { ...

    Android学习笔记之AndroidManifest.xml文件解析

    - `xmlns:android`:命名空间声明,使得 Android 的标准属性可以在文件中使用。 - `package`:指定应用的包名。 - **子标签**: - `&lt;uses-sdk&gt;`:指定应用兼容的 Android 版本范围。 - `&lt;uses-permission&gt;`:...

    Android中使用XML文件定义字符串.pdf

    本篇文章将详细阐述如何在Android中使用XML文件来定义字符串资源。 首先,字符串资源通常存储在`res/values`目录下的`strings.xml`文件中。这个文件是一个XML文档,包含了多个字符串元素,每个元素都代表一个独立的...

Global site tag (gtag.js) - Google Analytics