2012-06-02 8 views
115

मैंने strings.xml फ़ाइल में कुछ तारों को परिभाषित किया है। अब मुझे स्ट्रिंग में कुछ संख्याओं के बीच कुछ अतिरिक्त जगह डालना होगा। जब मैं अतिरिक्त स्पेस वर्ण टाइप करता हूं तो यह एप्लिकेशन पर दिखाई नहीं दे रहा है।एक्सएमएल में स्ट्रिंग नाम में स्पेस कैरेक्टर को कैसे रखा जाए?

से पहले:

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

और अगर मैं इस तरह अतिरिक्त जगह रख:

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

यह सिर्फ ऐप्लिकेशन पर समान लग रहा है। मैं एक्सएमएल स्ट्रिंग में स्पेस कैरेक्टर कैसे बना सकता हूं?

+0

ठीक है, यह इस पृष्ठ में भी वही दिखता है ... :) बात यह है कि मैं संख्याओं के बीच कुछ जगह चाहता हूं, यह कैसे संभव है ..? – Andreas

+0

एसओ पर रिक्त स्थान (& '<>' सामग्री) को संरक्षित करने के लिए कोड स्वरूपण का उपयोग करें। :) –

+0

मेरा अपडेट देखें plz –

उत्तर

294

स्ट्रिंग उपयोग &#160; के रूप में xml में सफेद स्थान का उपयोग करने के लिए। एक्सएमएल सफेद जगह नहीं लेगा जैसा कि यह है। यह इसे सेट करने से पहले सफेद जगह को ट्रिम कर देगा। तो सिंगल व्हाइट स्पेस के बजाय &#160; का उपयोग करें

+0

यह पाठ के अंत में स्थान होने पर टेक्स्टव्यू के wrap_content के साथ काम नहीं करता है। टेक्स्टव्यू 'स्पेस' चरित्र द्वारा उठाई गई चौड़ाई को बनाए रखता नहीं है। – toobsco42

+23

यह एक गैर-ब्रेक करने योग्य स्थान जोड़ देगा। यह एक नियमित स्थान से अलग है और कुछ कार्यों के साथ अच्छी तरह से काम नहीं करेगा (उदाहरण के लिए XPath की 'सामान्यीकृत-स्थान')। ' ' के बजाय ' ' (नियमित स्थान) का उपयोग करने का प्रयास करें। @ toobsco42 – shwartz

+0

मुझे फोन नंबर में एरिया कोड के बाद एक गैर-ब्रेकिंग स्पेस रखने के लिए '\ u0020' के बजाय ' ' का उपयोग करना पड़ा। अन्यथा, क्षेत्र कोड के पिछला संश्लेषण के बाद लाइन के अंत में फोन नंबर लपेटा जा रहा था। – mharper

42

सीधे उस XML के लिए एक्सएमएल में डालें जिसे आप संरक्षित करना चाहते हैं।

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

यह सही जवाब होना चाहिए। – srifqi

0

आउटपुट HTML है, तो HTML में कई रिक्त स्थान एक भी स्थान के रूप में प्रदर्शित करते हैं। इसे रोकने के लिए, सामान्य रिक्त स्थान के बजाय गैर-ब्रेकिंग रिक्त स्थान (xA0) का उपयोग करें।

1

xml: space = "की रक्षा"

वर्क्स एक आकर्षण की तरह।

संपादित करें: गलत। असल में, यह केवल तब काम करता है जब सामग्री केवल सफेद रिक्त स्थान शामिल होती है।

Link

2

string.xml फ़ाइल में &#160; रखो एक Android परियोजना में एक भी अंतरिक्ष से संकेत मिलता है।

5

अंतरिक्ष वेरिएंट:

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

| स्पेस | थिन स्पेस | हेयर स्पेस |

5

आप

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

" " (उद्धरण) अंतरिक्ष के साथ में रख कुछ भी है, और यह काम करना चाहिए

5

जैसा कि पहले ही उल्लेख किया है सही तरीका एक XML फ़ाइल में एक जगह नहीं है के लिए और साथ ही निम्न का उपयोग कर सकते \u0020 का उपयोग करके जो किसी स्थान के लिए यूनिकोड वर्ण है।

उदाहरण:

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

अन्य सुझाव &#160; या &#032; उपयोग करने के लिए कहा है लेकिन इस के लिए दो कमियां है। पहला नकारात्मक पक्ष यह है कि ये ASCII वर्ण हैं ताकि आप उन्हें पार्स करने के लिए टेक्स्ट व्यू जैसे कुछ पर भरोसा कर रहे हों। दूसरा नकारात्मक पक्ष यह है कि &#160; कभी-कभी टेक्स्ट व्यू में अजीब रैपिंग का कारण बन सकता है।

0

आप इसे "-4, 5, -5, 6, -6," (दो रिक्त स्थान) जैसे प्रदर्शित करना चाहते हैं, तो आप स्ट्रिंग में निम्न कोड जोड़ सकते हैं।एक्सएमएल

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

  प्रदर्शन एक जगह नहीं है।

6

एंड्रॉइड स्ट्रिंग.एक्सएमएल फ़ाइल में स्ट्रिंग के अंत में रिक्त स्थान को रखने का समर्थन नहीं करता है, इसलिए यदि आप स्ट्रिंग के बाद स्पेस चाहते हैं तो आपको शब्दों के बीच इस यूनिकोड का उपयोग करने की आवश्यकता है।

\ u0020

यह एक यूनिकोड अंतरिक्ष चरित्र है।

2

अपने प्रश्न के अनुसार आप और अधिक खाली स्थान स्ट्रिंग संसाधनों में से एक की तुलना में उनके चरित्र या शब्द के बीच रिक्त स्थान को जोड़ने के लिए कई विकल्प हैं चाहते हैं:

1.By डिफ़ॉल्ट एक जगह आप स्ट्रिंग संसाधन फ़ाइल में सीधे जोड़ सकते हैं यह अच्छा कर रहा है। लेकिन यदि स्ट्रिंग संसाधन फ़ाइल के अंदर एक से अधिक स्थान दें तो यह उस रिक्त स्थान को बाहर कर दें। उदाहरण के लिए। -4, 5, -5, 6, -6,

  1. आप स्ट्रिंग संसाधन फ़ाइल के अंदर अधिक अतिरिक्त रिक्त स्थान जोड़ने चाहते हैं तो का उपयोग करता है: - मैं। जैसे

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

चरित्र के बाद यूनिकोड जोड़ने ii.you "\ u0020"

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

एक ही रास्ता मैं स्ट्रिंग के मध्य में एक से अधिक रिक्त स्थान मिल सकता है का उपयोग कर सकते हैं।

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

Before After 
0

यह भी काम करना चाहिए। अंतरिक्ष

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