2009-11-03 8 views
100

के पिछले 3 char को प्रतिस्थापित और प्रतिस्थापित करता है यदि StringTextView की चौड़ाई से अधिक लंबा है तो यह स्वचालित रूप से अगली पंक्ति पर लपेटता है। मैं android:singleLine (बहिष्कृत) या android:inputType="text" सेट करके इसका उपयोग कर सकता हूं। मुझे अब जो कुछ चाहिए वह मेरे String के अंतिम 3 वर्णों को "" "से बदलता है। चूंकि मैं एक मोनोस्पेस फ़ॉन्ट का उपयोग नहीं कर रहा हूं, इसलिए यह मेरे String में उपयोग किए गए अक्षरों के आधार पर हमेशा अलग होगा। तो मैं सोच रहा हूं कि TextView में स्ट्रिंग के अंतिम 3 वर्ण प्राप्त करने और उन्हें बदलने का सबसे अच्छा तरीका क्या है। शायद एंड्रॉइड फ्रेमवर्क में पहले से ही कुछ लागू किया गया है, क्योंकि यह एक आम समस्या होनी चाहिए।एंड्रॉइड: टेक्स्ट व्यू स्वचालित रूप से स्ट्रिंग

उत्तर

222

आप एक पाठ को देखने के "एल्लिप्साइज" संपत्ति का उपयोग करने में सक्षम होना चाहिए:

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/text_mytext" 
    android:ellipsize="end" 
    android:maxLines="1" 
/> 

तुम भी भी लेआउट के लिए गुरुत्वाकर्षण मूल्यों को लागू करने की आवश्यकता हो सकती; मैंने कभी-कभी उनके बिना "ऑटो-खींचने" दृश्य देखा है।

+0

+1 उपयोग कर सकते हैं - उपयोगकर्ता करना चाहती है कि वास्तव में क्या यह खुद – I82Much

+0

परफेक्ट रोल किए बिना। धन्यवाद। मैंने पहले कोशिश की है, लेकिन काम नहीं किया, क्योंकि मैंने एंड्रॉइड का उपयोग किया: इनपुट टाइप टाइप = एंड्रॉइड के बजाय "टेक्स्ट": सिंगललाइन = "सच्चा" (जिसे बहिष्कृत किया जाना चाहिए)। लेकिन अब मैं एंड्रॉइड के साथ रहना चाहता हूं: सिंगललाइन = "सच"। मुचस gracias। – znq

+30

यह अभी भी "..." नहीं जोड़ता है। मेरे लिए, इस सवाल का पूरी तरह उत्तर नहीं दिया गया है! यह उत्तर "शॉर्ट लॉन्गवर्ड" को "शॉर्ट" और "शॉर्ट लॉलॉन" नहीं देगा ... इसके ऊपर आप लोग बहिष्कृत विशेषता का उपयोग करने का सुझाव देते हैं। – OneWorld

28

इस समस्या के लिए एक दिलचस्प काम-दौर मिला।

maxLines=1 
ellipsize=end 
scrollHorizontally=true 

यह चाल क्षैतिज स्क्रॉलिंग के बारे में आखिरी बयान है .... इसे देखें। यह कम से कम v2.2 पर काम करता है।

+7

पर सिर्फ एक टिप्पणी एंड्रॉइड 4.0 – caw

+0

पर काम करना बंद करना दिलचस्प है ... जानना अच्छा है। हेड-अप के लिए धन्यवाद मार्को। – BonanzaDriver

2
प्रोग्राम के

साथ

आप

TextView tx = new TextView(this); 
tx.setTextSize(13); 
tx.setGravity(Gravity.CENTER); 
tx.setTop(90); 
tx.setText("Long text here"); 
tx.setTextColor(Color.BLACK); 
tx.setSingleLine(true); 
tx.setEllipsize(TruncateAt.END);