文本列表转 Android string-array XML

每行粘贴一项,即可得到可直接使用的 Android 资源代码。

完全在浏览器中运行。输入内容不会被发送或保存。

使用方法

  1. 输入在 R.array 中使用的数组名。
  2. 每行粘贴一项。
  3. 复制 XML 或下载为 arrays.xml。
  4. 放到 Android 项目的 res/values/ 目录。

Android 应用里国家、分类、下拉选项这类固定列表,通常放在 res/values 的 <string-array> 中。几十个条目手写 <item> 标签很繁琐,多一个单引号就可能导致编译失败。这个转换工具把每行一项的文本列表转成完整的 <resources> 代码块,可以直接粘贴到 strings.xml,或保存为 arrays.xml。

每行会去掉首尾空格,空行和以“[source”开头的行会被跳过。对于 string-array 和 array,& < > 会转成 XML 实体,反斜杠、单引号、双引号前加反斜杠,以 @ 或 ? 开头的条目也会转义,避免被当成资源引用。数组名只保留字母、数字和下划线,以数字开头时在前面加下划线。代码中用 getResources().getStringArray(R.array.name) 读取,integer-array 用 getIntArray。

integer-array 的条目按原样输出,不检查是否为数字。%s、%d 等格式占位符也保持不变。粘贴的文本只在本浏览器中处理,不会发送或保存。

常见问题

会转义撇号和引号吗?

会。' " & < > 以及开头的 @ 或 ? 都会被转义,aapt 可以正常编译。

哪些行会被跳过?

空行和以 "[source" 开头的行会被跳过,每行首尾空白都会去掉。

可以生成 integer-array 吗?

可以,在类型中选择 integer-array 即可。

相关工具