Как поместить символ пробела в имя строки в XML?

174

я определил некоторые строки в strings.xmlфайле. Теперь мне нужно поставить дополнительное пространство между числами в строке. Когда я набираю лишние пробелы, это не отображается в приложении.

Перед:

<string name="spelatonertext3">-4, 5, -5, 6, -6,

И если я добавлю дополнительное пространство, как это:

<string name="spelatonertext3">-4,  5, -5,   6,  -6,

Это выглядит так же в приложении. Как я могу сделать пробелы в строке XML?

Andreas
источник
Ну, на этой странице это выглядело так же ... :) Я хочу, чтобы между цифрами было немного места, как это возможно?
Андреас
Используйте форматирование кода, чтобы сохранить пробелы (и <>содержимое) в SO. :)
Эндрю Томпсон

Ответы:

405

использовать пробел в XML как строковое использование &#160;. XML не займет пустое место, как есть. он урежет пустое пространство перед установкой. Так что используйте &#160;вместо одного пробела

ρяσѕρєя K
источник
1
Это не работает с wrap_content текстового представления, когда пробел находится в конце текста. Текстовое представление не поддерживает ширину, которую занимает символ «пробел».
toobsco42
28
Это добавит неразрушаемый пробел. Он отличается от обычного пространства и не будет хорошо работать с некоторыми функциями (например, XPath normalize-space). Попробуйте использовать &#032;(обычный пробел) вместо &#160;. @ toobsco42
shwartz
Мне пришлось использовать &#160;вместо того, \u0020чтобы ставить неразрывный пробел после кода города в номере телефона. В противном случае номер телефона переносился в конце строки после завершающей скобки кода города.
Mharper
& # 032; Это нормально, если вам нужно 1 пробел. Если вы поставите несколько (& # 032; & # 032; ...), они будут обрезаны до 1. Я думаю, что это то же самое поведение, что и обычное пустое пространство, поэтому оно кажется бесполезным. Если найдены также предложения о & # 009; (должен быть символом табуляции): ничего не отображается. & # 160; хорошо работает, это то, что мне нужно, спасибо, К.
herve-
56

Вставьте \ u0020 непосредственно в XML для пробела, который вы хотели бы сохранить.

<string name="spelatonertext3">-4, \u00205, \u0020\u0020-5, \u00206, \u0020-6,</string>
K_Anas
источник
24

Android не поддерживает хранение пробелов в конце строки в файле String.xml, поэтому, если вы хотите пробел после строки, вам нужно использовать этот юникод между словами.

\ u0020

Это символ пространства Юникод.

Сайбаба Вали
источник
У меня это работало с использованием Android Studio 3.6.2, скомпилированной для Android 4.4. Спасибо.
Любовь и мир - Джо Кодсвелл
11

Как уже упоминалось, правильный способ иметь пробел в XML-файле - использовать \u0020символ Юникода для пробела.

Пример:

<string name="spelatonertext3">-4,\u00205,\u0020-5,\u00206,\u0020-6</string>

Другие предложения сказали использовать &#160;или, &#032;но есть два недостатка к этому. Первым недостатком является то, что это символы ASCII, поэтому для их анализа вы полагаетесь на что-то вроде TextView. Вторым недостатком является то, что &#160;иногда может вызывать странные переносы в TextViews.

MShipman
источник
7

Космические варианты:

<string name="space_demo">|&#x20;|&#x2009;|&#x200A;|</string>

| ПРОСТРАНСТВО | ТОНКОЕ ПРОСТРАНСТВО | ПРОСТРАНСТВО ВОЛОС |

Андрей
источник
1
Это самый сладкий и потрясающий
Абдул Вахид
6

Поместите &#160;в файл string.xml, чтобы указать один пробел в проекте Android.

MAXXI
источник
6

Это должно работать так же. Используйте кавычки, чтобы сохранить пространство

<string name="spelatonertext3">"-4,  5, -5,   6,  -6,"</string>
pcodex
источник
1
Это самый чистый (самый легкий для чтения) ответ на мой взгляд. К сожалению, большинство людей, вероятно, не делают это так далеко в списке ответов, прежде чем двигаться дальше.
DavidR
5

Вы также можете использовать следующие

<string name="spelatonertext3"> "-4,  5, -5,   6,  -6, "> </string>

Поместите что-нибудь в " "(цитата) с пробелом, и это должно работать

Сурджит Сингх
источник
1
Поместите что-нибудь в "" (цитата) с пробелом, и это должно сработать: ЭТО НЕ
РАБОТАЕТ
3

В соответствии с вашим вопросом, если вы хотите добавить пробелы больше чем один в строковых ресурсах, есть много опций для добавления пробелов между символом или словом:

1. По умолчанию один пробел вы можете добавить непосредственно в файл строковых ресурсов, он работает нормально. но если дать более одного пробела внутри файла строковых ресурсов, то это исключит эти пробелы. например -4, 5, -5, 6, -6,

  1. Если вы хотите добавить больше лишних пробелов в строковом файле ресурсов, используйте: - i. добавление юникода после символа как

        <string name="test">-4,&#160;&#160;5,&#160;&#160;-5,&#160;&#160;6,&#160;&#160;-6,</string>

Вы можете использовать "\ u0020"

<string name="test">-4,\u0020\u0020 5,\u0020\u00205 -5,\u0020\u00205 6,\u0020\u00205 -6,</string>
Сагар Хорадж
источник
3

Если вы пытаетесь задать пробел между двумя строками ИЛИ в строковом файле Android, сделайте это в строковом файле. Реализуйте это перед своим «Строковым именем», которое вы хотите показать. \ u0020 \ u0020 Для Ев. \ u0020 \ u0020 \ u0020 \ u0020 \ u0020 \ u0020Payment

Ракеш Джа
источник
2

XML: пространство = "сохранить"

Работает как шарм.

Редактировать: неправильно. На самом деле, это работает только тогда, когда содержимое состоит только из пробелов.

Ссылка на сайт

PauLEffect
источник
1

Если выводом является HTML, то в HTML несколько пробелов отображаются как один пробел. Чтобы предотвратить это, используйте неразрывные пробелы (xA0) вместо обычных пробелов.

Майкл Кей
источник
1

Единственный способ получить несколько пробелов в середине строки.

<string name="some_string">Before" &#x20; &#x20; &#x20;"After</string>

Before   After
DROD
источник
0

Вы хотите, чтобы он отображался как «-4, 5, -5, 6, -6,» (два пробела), вы можете добавить следующий код в string.xml

<string name="spelatonertext3"> "-4,&#160;&#160;5,&#160;-5,&#160;&#160;6,&#160;&#160;-6,"</string>

  это отображать один пробел.

Хай ром
источник