Cum se pune caracterul spațiu într-un nume de șir de caractere în XML? (Programare, Android, Xml, Spațiu Alb)

Andreas a intrebat.

Am definit câteva șiruri de caractere în strings.xml fișier. Acum am nevoie să pun un spațiu suplimentar între unele numere din șir. Când tastez caracterele de spațiu suplimentar acest lucru nu se afișează totuși în aplicație.

Înainte:

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

Și dacă pun un spațiu în plus așa:

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

Se vede la fel în aplicație. Cum pot introduce caractere de spațiu în șirul XML?

Comentarii

  • Ei bine, arată la fel și în această pagină…:) chestia este că vreau spațiu între numere, cum este posibil…? –  > Por Andreas.
  • Folosiți formatarea codului pentru a păstra spațiile (& <> content) pe SO. 🙂 –  > Por Andrew Thompson.
  • Posibil duplicat al Android – String concatenate – cum se păstrează spațiile de la sfârșitul și/sau începutul String-ului? –  > Por Sruit A.Suk.
14 răspunsuri
ρяσѕρєя K

pentru a utiliza spațiul alb în xml ca utilizare a șirului de caractere &#160;. XML nu va lua spațiul alb așa cum este. va tăia spațiul alb înainte de a-l seta. Deci, utilizați &#160; în loc de un singur spațiu alb

Comentarii

  • Acest lucru nu funcționează cu wrap_content al unui textview, atunci când spațiul apare la sfârșitul textului. Vizualizarea textului nu păstrează lățimea ocupată de caracterul „spațiu”. –  > Por toobsco42.
  • 31

  • Acest lucru va adăuga un spațiu care nu poate fi spart. Acesta este diferit de un spațiu obișnuit și nu va funcționa bine cu anumite funcții (XPath’s normalize-space, , de exemplu). Încercați să utilizați &#032; (spațiu obișnuit) în loc de &#160;. @toobsco42 –  > Por shwartz.
  • A trebuit să folosesc &#160; în loc de u0020 pentru a plasa un spațiu fără întrerupere după prefixul local într-un număr de telefon. În caz contrar, numărul de telefon era înfășurat la sfârșitul liniei după paranteza finală a codului de zonă. –  > Por mharper.
  • &#032; este în regulă dacă aveți nevoie de 1 spațiu. Dacă puneți mai multe (&#032;&#032;…), acestea sunt tăiate la 1. Cred că este același comportament ca și un spațiu normal, așa că pare inutil. Dacă am găsit și o sugestie despre &#009; (care ar trebui să fie un caracter de tabulare) : nu afișează nimic. &#160; funcționează bine, este ceea ce am nevoie, mulțumesc ρяσѕρєя K. –  > Por herve-guerin.
K_Anas

Introduceți u0020 direct în XML pentru un spațiu gol pe care doriți să îl păstrați.

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

saibaba vali

Android nu acceptă păstrarea spațiilor la sfârșitul șirului în fișierul String.xml, astfel încât, dacă doriți spațiu după șir, trebuie să folosiți acest unicod între cuvinte.

u0020

Este un caracter de spațiu unicode.

Comentarii

  • Acest lucru a funcționat pentru mine folosind Android Studio 3.6.2 compilat pentru Android 4.4. Mulțumesc. –  > Por Dragoste și pace – Joe Codeswell.
MShipman

După cum s-a menționat deja, modul corect de a avea un spațiu într-un fișier XML este folosind u0020 care este caracterul Unicode pentru un spațiu.

Exemplu:

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

Alte sugestii au spus să se folosească &#160; sau &#032; dar acest lucru are două dezavantaje. Primul dezavantaj este că acestea sunt caractere ASCII, deci vă bazați pe ceva de genul TextView pentru a le analiza. Al doilea dezavantaj este că &#160; poate provoca uneori o înfășurare ciudată în TextView-uri.

maxxi

Puneți &#160; în fișierul string.xml pentru a indica un singur spațiu într-un proiect android.

pcodex

Ar trebui să funcționeze și acest lucru. Utilizați ghilimele pentru a menține spațiul

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

Comentarii

  • Acesta este cel mai curat (cel mai ușor de citit) răspuns în opinia mea. Din păcate, majoritatea oamenilor probabil că nu ajung atât de departe în lista de răspunsuri înainte de a trece mai departe. –  > Por DavidR.
  • Acesta ar trebui să fie mai mult upvoted. Foarte curat și ușor de citit, fără bs unicode –  > Por Rafsanjani.
Andrew

Variante de spațiu:

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

| SPAȚIU | SPAȚIU SUBȚIRE | SPAȚIU SUBȚIRE | SPAȚIU DE PĂR |

Comentarii

  • Aceasta este cea mai dulce și cea mai grozavă –  > Por Abdul Waheed.
Surjit Singh

Puteți folosi și următoarele

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

Puneți orice în " "(ghilimele) cu spațiu, și ar trebui să funcționeze

Comentarii

  • Puneți orice în ” ” (ghilimele) cu spațiu, și ar trebui să funcționeze: ACEST LUCRU NU FUNCȚIONEAZĂ –  > Por Krunal Shah.
drod

Singurul mod în care am putut obține mai multe spații în mijlocul șirului.

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

Before   After

Sagar Chorage

Conform întrebării dvs. dacă doriți să adăugați spații mai mult de unul în resursele de șiruri, există multe opțiuni pentru a adăuga spații între caractere sau cuvinte:

1.By implicit un singur spațiu puteți adăuga direct în fișierul de resurse de șiruri de caractere și funcționează bine. dar dacă dați mai mult de un spațiu în interiorul fișierului de resurse de șiruri de caractere, atunci se exclude aceste spații. de exemplu . -4, 5, -5, 6, -6,

  1. Dacă doriți să adăugați mai multe spații suplimentare în interiorul fișierului de resurse de șiruri de caractere, atunci folosiți:-i. adăugând unicode după un caracter, cum ar fi

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

ii. puteți folosi „u0020”.

<string name="test">-4,u0020u0020 5,u0020u00205 -5,u0020u00205 6,u0020u00205 -6,</string>

Rakesh Jha

Dacă încercați să dați spațiu între 2 șiruri de caractere SAU în fișierul de șiruri de android, atunci faceți acest lucru în fișierul dvs. de șiruri .implementați acest lucru înainte de „numele șirului” pe care doriți să îl arătați.u002020u0020De exemplu.u0020u0020u0020u0020u0020u0020Payment

PauLEffect

xml:space=”preserve”

Funcționează de minune.

Editare: Greșit. De fapt, funcționează doar atunci când conținutul este alcătuit doar din spații albe.

Link

Michael Kay

Dacă rezultatul este HTML, atunci în HTML mai multe spații se afișează ca un singur spațiu. Pentru a preveni acest lucru, utilizați spații fără întrerupere (xA0) în loc de spații obișnuite.

Hai Rom

Dacă doriți să se afișeze ca „-4, 5, -5, -5, 6, -6,” (două spații), puteți adăuga următorul cod la string.xml

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

  afișează un spațiu.