Як помістити пробільний символ у ім'я рядка в XML?


174

я визначив деякі рядки у strings.xmlфайлі. Тепер мені потрібно покласти трохи додаткового простору між деякими числами в рядку. Коли я набираю символи додаткового простору, це не відображається на додатку.

Перед:

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

І якщо я поміщую додатковий простір так:

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

Це просто виглядає так само в додатку. Як я можу зробити символи пробілу в рядок XML?


Ну, це виглядало так само і на цій сторінці ... :) річ, я хочу, щоб між номерами було пробіл, як це можливо ..?
Андреас

Використовуйте форматування коду, щоб зберегти пробіли (& <>вміст) на SO. :)
Ендрю Томпсон

Відповіді:


405

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


1
Це не працює з wrap_content текстового перегляду, коли пробіл знаходиться в кінці тексту. Перегляд тексту не підтримує ширину, яку займає символ "пробіл".
toobsco42

28
Це додасть простору, що не порушується. Він відрізняється від звичайного простору і не буде добре працювати з певними функціями (наприклад, XPath normalize-space). Спробуйте використовувати &#032;(звичайний пробіл) замість &#160;. @ toobsco42
shwartz

Мені довелося використовувати &#160;замість того, \u0020щоб розмістити безперебійний пробіл після коду району в номері телефону. В іншому випадку номер телефону загортається в кінці рядка після кінцевих дужок коду області.
mharper

& # 032; добре, якщо вам потрібно 1 місце. Якщо ви помістите декілька (& # 032; & # 032; ...), вони обробляються до 1. Я думаю, що це та сама поведінка, що і звичайний порожній простір, тому здається марною. Якщо знайдеться також пропозиція про & # 009; (повинен бути символом вкладки): він нічого не відображає. & # 160; працює добре, це те, що мені потрібно, дякую ρyaσѕρєя K.
herve-guerin

57

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

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

24

Android не підтримує пробіли в кінці рядка у файлі String.xml, тому якщо ви хочете пробіл після рядка, вам потрібно використовувати цей унікод між словами.

\ u0020

Це символ простору унікоду.


Для мене це працювало за допомогою Android Studio 3.6.2, зібраного на Android 4.4. Дякую.
Любов і мир - Джо Кодесвелл

11

Як вже було сказано, правильним способом розміщення пробілу у XML-файлі є використання \u0020символу unicode для пробілу.

Приклад:

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

Інші пропозиції казали про використання &#160;або &#032;є два мінуси на це. Перший недолік полягає в тому, що це символи ASCII, тому ви розраховуєте на щось на зразок TextView для їх розбору. Другий недолік полягає в тому, що &#160;іноді може спричинити дивне обгортання TextViews.


7

Космічні варіанти:

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

| ПРОСТІР | Тонкий простір | ПРОСТІР ВОЛОСІ |


1
Це найсолодший і найдивовижніший
Абдул Вахід

6

Це також має працювати. Використовуйте лапки, щоб зберегти простір

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

1
Це найчистіша (найпростіша для читання) відповідь на мій погляд. На жаль, більшість людей, мабуть, не роблять так далеко в списку відповідей, перш ніж продовжувати.
DavidR

5

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


5

Ви також можете використовувати наступне

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

Покладіть що-небудь у " "(цитату) з простором, і це має працювати


1
Покладіть що-небудь у "" (цитата) з пробілом, і це має працювати: ЦЕ НЕ ПРАЦЮЄ
Крунал Шах

3

Згідно з вашим запитанням, якщо ви хочете додати пробіли більше, ніж один у рядкових ресурсах, є багато варіантів, щоб додати пробіли між символом чи словом:

1.За замовчуванням один простір ви можете додати безпосередньо в рядовий файл ресурсу, він працює добре. але якщо дайте більше одного простору у файлі рядкових ресурсів, він виключає пробіли. напр. -4, 5, -5, 6, -6,

  1. Якщо ви хочете додати більше додаткових пробілів всередині рядового файлу ресурсу, тоді використовується: - i. додавання unicode після символів, як

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

ii. ви можете використовувати "\ u0020"

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

3

Якщо ви намагаєтеся виділити пробіл між двома рядками АБО у String-файлі андроїда, зробіть це у вашому рядковому файлі. Реалізуйте це перед тим, як "Ім'я рядка", яке ви хочете показати. \ u0020 \ u0020 Напр. \ u0020 \ u0020 \ u0020 \ u0020 \ u0020 \ u0020Оплата


2

xml: space = "зберегти"

Працює як шарм.

Редагувати: Неправильно. Насправді він працює лише тоді, коли вміст складається лише з пробілів.

Посилання


1

Якщо виведенням є HTML, то в HTML декілька пробілів відображаються як єдиний пробіл. Щоб цього не допустити, використовуйте нерозривні пробіли (xA0) замість звичайних пробілів.


1

Єдиний спосіб я міг отримати кілька пробілів посередині рядка.

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

Before   After

0

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

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

  - це відображення одного простору.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.